Mac с сенсорным экраном выходят 6 ноября. Вот что я бы проверил в своём приложении для Mac
Автор: Justinas Rolando, создатель MacPip
MacBook Pro с дисплеем PROLED XDR это первый Mac с сенсорным экраном, он выходит 6 ноября. Apple говорит, что macOS превращает касания в клики, поэтому большинство приложений уже работает. Чтобы приложение хорошо ощущалось под пальцем, сделайте области нажатия не меньше 36 pt, замените старое отслеживание мыши распознавателями жестов и проверьте всё, что находится в строке меню или в верхней части экрана.
28 октября Apple представила MacBook Pro с дисплеем PROLED XDR, и это первый Mac, которого можно коснуться. Он поступит в продажу пятница, 6 ноября. Я делаю небольшие приложения для Mac, поэтому мой первый вопрос был не «хочу ли я такой». Он был: «что будет с моими приложениями, когда по ним ткнут пальцем?»
Вот что я нашёл и что собираюсь проверить в своих приложениях на этой неделе.
Что изменилось
- Две модели. 14-дюймовая от 2 899 $ и 16-дюймовая от 3 399 $, с чипами M5 Pro или M5 Max. Предзаказы открылись 28 октября, сообщает MacRumors.
- Касания встроены в панель. Apple показывает такие жесты: смахивание для прокрутки, сведение пальцев для масштаба, перетаскивание объектов и двойное касание окна, чтобы развернуть его на весь экран.
- macOS превращает касания в клики. Apple утверждает, что многие существующие приложения сразу работают с касаниями. Это хорошая новость: в пятницу ничьё приложение не сломается.
- Выреза нет. В этих моделях вверху находится меньший Dynamic Island, где живут Spotlight, Live Activities и Siri.
Так что вопрос не в том, заработает ли приложение. А в том, не покажется ли оно сломанным под пальцем. Клик по кнопке в 16 pt нормален на трекпаде и раздражает на большом пальце.
Что Apple советует разработчикам
Apple выложила страницу Get ready for Touch on Mac с тремя видео. Самое практичное из них, Bring Touch to your Mac app. Его примеры кода говорят, коротко:
- Увеличьте области нажатия минимум до 36 pt по каждой оси, когда ввод сенсорный. Для мыши ничего не меняется.
- Переходите от самодельного отслеживания мыши к распознавателям жестов. Если у вас есть цикл
mouseDown, читающий события перетаскивания, пример заменяет его наNSPanGestureRecognizerсallowedTouchTypes, равным.direct. - Решите, что делает один палец в прокручиваемых областях. На холсте, где один палец должен рисовать, пример задаёт для
minimumNumberOfTouchesForScrollingзначение 2. - Отключайте системные жесты только там, где они мешают, с помощью
disablesDirectTouchSystemGesturesу окна илиdirectTouchSystemGesturesDisabled()в SwiftUI. - Сообщите, что приложение рассчитано на касания, с помощью ключа
NSIsTouchNativeвInfo.plist.
Есть также Design for Touch on Mac и Bring Live Activities to Mac. Apple проводит две онлайн-лаборатории для групп с инженерами и дизайнерами: 18 ноября с 9 до 10 утра по тихоокеанскому времени и 19 ноября с 6 до 7 вечера по тихоокеанскому времени. Бета Xcode 27.3, которая идёт в комплекте, всё ещё была помечена «Скоро», когда я смотрел 3 ноября.
Что я проверил бы в своём приложении, по порядку
Это мои мнения, а не список Apple.
- Найдите самые маленькие элементы управления. Значки панели инструментов, маленькая шестерёнка, кнопка закрытия на своей панели, флажки в тесном окне настроек. Всё, что меньше 36 pt в любую сторону, исправляйте в первую очередь.
- Найдите то, что показывается только при наведении. Палец не наводится. Если кнопка удаления или подсказка появляются, только когда указатель над строкой, пользователь с сенсорным экраном может их не найти. Дайте им другой путь.
- Попробуйте каждое перетаскивание. Изменение порядка в списках, вытаскивание файлов из окна, изменение размера разделённого вида. Именно там обычно живёт самодельный код для мыши, поэтому там чаще всего что-то ощущается не так.
- Проверьте, что скрывает правый клик. Если действие есть только в контекстном меню, сделайте к нему и видимый путь.
- Если ваше приложение живёт в верхней части экрана, проверьте его там. У приложений в строке меню и рядом с вырезом появился новый сосед, Dynamic Island, и новый способ нажатия. Если вы делаете одно из приложений в строке меню на MacPip или что-то рядом с вырезом, самое время посмотреть.
- Понаблюдайте, как пользуется кто-то другой. Дайте Mac человеку, который никогда не видел ваше приложение, и ничего не говорите. Десять минут такого расскажут больше, чем любой список вроде этого.
Если у вас нет такого Mac, большую часть списка всё равно можно сделать. Шаги 1, 2 и 4 это внимательный осмотр собственных окон, а пример кода собирается с новым SDK, как только выйдет бета Xcode 27.3.
Стоит ли спешить?
Не думаю. Apple говорит, что касания превращаются в клики, это дорогие ноутбуки Pro, и сначала они поступят небольшой группе. Крупные области нажатия и меньше действий только при наведении помогают и тем, кто пользуется трекпадом, средствами доступности или большим внешним экраном, так что работа не пропадёт, даже если Mac с касаниями останутся нишевыми.
Я бы сделал дешёвые исправления сейчас, чтобы первый, кто коснётся вашего приложения в пятницу, остался доволен, и записал, что вы изменили.
Пока вы тестируете
Новый Mac также хороший повод проверить скучные вещи. Ваша сборка универсальная или только для Apple silicon, и говорит ли об этом ваш сайт? Apple сообщает, что общая поддержка Rosetta 2 для приложений закончится после macOS 27, как писал MacRumors, так что у приложения только для Intel есть срок годности. Новая проверка универсального бинарного файла читает вывод lipo или file и говорит, на чём работает каждая часть. В чек-листе запуска по порядку собраны остальные скучные дела, а как отправить приложение для Mac описывает путь через магазин и прямую раздачу, если вы выпускаете обновление.
Если вы выпускаете обновление с поддержкой касаний, скажите об этом в примечаниях к выпуску и обновите описание своей карточки, чтобы те, кто ищет приложения для касаний, могли вас найти. А если вашего приложения ещё нет на MacPip, добавить его можно бесплатно.
Источники
- Apple Developer: Get ready for Touch on Mac
- Apple Developer: Bring Touch to your Mac app
- Apple Developer: Design for Touch on Mac
- MacRumors: Apple Announces OLED MacBook Pro With Touch Display
- 9to5Mac: Apple выпустила видео для разработчиков о Mac с сенсорным экраном
- MacRumors: macOS Tahoe 26.4 warns about apps that need Rosetta 2
Читайте дальше
- Знакомство с MacPipЧто такое MacPip, зачем я его создал, как работают карточки и день запуска, что на самом деле значит синяя галочка и реальные цифры за первые дни.
- Как запустить Mac-приложение: чек-лист на одну страницуЧто делать до, в день и после запуска Mac-приложения: подпись, ваша страница, каталоги, Product Hunt, Show HN и что измерять.
- Как написать однострочное описание, которое говорит, что делает ваше Mac-приложениеПростой способ написать строку под названием Mac-приложения: назовите задачу, уберите хайп и проверьте текст на человеке, который приложение ещё не видел.
- Подпись и нотаризация простыми словами для тех, кто делает первое Mac-приложениеЧто делают подпись кода, нотаризация и степлинг, в каком порядке, что видят пользователи без них и как проверить свою сборку.
- Чего на самом деле стоит dofollow-ссылка, по мнению сайта, который её предлагаетЧто означает dofollow, что Google говорит о ссылках, почему ссылка из нового каталога сегодня мало стоит и что делать вместо покупки ссылок.