Apple обновила guidelines для iOS-приложений в 2024 году, ужесточив критерии проверки design-концепций и пользовательских интерфейсов. Новые правила затрагивают все аспекты визуального оформления - от иконок до анимаций. В отличие от android-экосистемы, где разработчики имеют больше свободы, App Store требует строгого соответствия единому стилю iOS.
Среди ключевых изменений - обязательная поддержка Dynamic Island для iPhone 15 и StandBy Mode для iOS 17. Приложения должны корректно масштабироваться на всех актуальных разрешениях экранов, включая iPad Pro М2. Особое внимание уделяется контрастности текста и элементов управления - минимальное значение теперь составляет 4.5:1.
Отдельный блок требований касается приватности и безопасности. Каждый запрос на доступ к данным пользователя должен сопровождаться понятным объяснением целей использования информации. Apple ввела запрет на скрытые элементы интерфейса и маскировку рекламных баннеров под нативные компоненты системы.
Обновленные технические требования к разрешению экранов для iPhone 15
iPhone 15 получил новый дисплей с разрешением 2556x1179 пикселей при плотности 460 ppi. Согласно актуальным Apple design guidelines, приложения должны поддерживать следующие параметры:
Базовые требования для iPhone 15:
- Нативное разрешение: 2556x1179 px
- Масштаб: @3x
- Safe Area: верх 59px, низ 34px
- Динамический остров: 126x37 px
Специфика для iPhone 15 Pro Max:
- Нативное разрешение: 2796x1290 px
- Безопасная зона контента: верх 54px, бока 59px
- Radius скругления углов: 55px
При разработке UI элементов учитывайте:
Минимальные размеры интерактивных элементов:
- Кнопки: 44x44 px
- Текстовые поля: высота 32px
- Отступы между элементами: 8px
- Шрифт для основного текста: не менее 11pt
Для корректного отображения приложения в разных ориентациях экрана используйте Auto Layout и адаптивные constraints. Поддержка ProMotion 120 Гц обязательна для анимаций.
Правила использования системных шрифтов и отступов SF Pro в iOS 17
Apple обновила систему типографики в iOS 17, сделав SF Pro основным шрифтом для всех нативных приложений. В отличие от design guidelines для android, iOS требует строгого соблюдения системной типографической иерархии.
Базовые размеры SF Pro для интерфейсов:
- Заголовки первого уровня: 34pt
- Подзаголовки: 28pt
- Основной текст: 17pt
- Вспомогательный текст: 15pt
- Мелкий текст: 13pt
Межстрочные интервалы SF Pro автоматически масштабируются в зависимости от размера текста:
- Для текста 17pt – 22pt
- Для текста 15pt – 20pt
- Для текста 13pt – 18pt
Отступы между элементами:
- Минимальный отступ от края экрана: 16pt
- Между блоками контента: 24pt
- Между связанными элементами: 8pt
- Вокруг интерактивных элементов: 12pt
Особые правила для SF Pro Display:
- Использовать только в заголовках и кнопках
- Применять tracking -0.5 для размеров более 20pt
- Избегать декоративных начертаний в основном интерфейсе приложения
При адаптации приложения необходимо проверять читаемость SF Pro на всех поддерживаемых устройствах iOS. Системный шрифт автоматически масштабируется при изменении настроек доступности.
Требования к адаптивной верстке для поддержки Dynamic Island
Dynamic Island требует особого подхода к адаптивной верстке, отличного от android-приложений. При проектировании интерфейса необходимо учитывать отступ 59px от верхнего края экрана при развернутом состоянии и 37px при свернутом.
Для корректного отображения контента вокруг Dynamic Island следует использовать safe area insets. Избегайте размещения интерактивных элементов в зоне 26px слева и справа от выреза. Apple design guidelines рекомендуют группировать уведомления и индикаторы состояния в правом верхнем углу.
При анимации расширения Dynamic Island контент должен плавно адаптироваться под новые размеры без перекрытия основных элементов интерфейса. Минимальная высота адаптивного контейнера - 34px, максимальная - 108px при полном развертывании.
Текстовые элементы в области Dynamic Island должны использовать масштабирование от 10pt до 17pt в зависимости от состояния. При этом иконки и кнопки управления требуют тач-таргета минимум 44x44px для удобного взаимодействия.
В альбомной ориентации нужно предусмотреть автоматическое скрытие расширенного состояния Dynamic Island и перераспределение контента с учетом уменьшенной высоты доступной области экрана. Рекомендуется использовать Auto Layout Constraints для гибкого позиционирования элементов.
Стандарты доступности приложений по гайдлайнам Apple 2024
Apple расширила требования к доступности iOS-приложений в 2024 году, установив новые стандарты для разработчиков. В отличие от android-платформы, где многие функции доступности опциональны, App Store требует обязательной поддержки базовых инструментов для людей с особыми потребностями.
Ключевые обновления design-требований включают:
- Поддержку Voice Control с точными метками для всех интерактивных элементов
- Минимальный размер активной области касания 44x44pt
- Масштабирование текста до 310% без потери функциональности
- Контрастность текста не менее 4.5:1 для основного контента
При разработке приложения обязательна поддержка VoiceOver с корректными семантическими ролями элементов интерфейса. Все изображения должны содержать альтернативные текстовые описания. Анимация отключается при активации настройки Reduce Motion.
Новые требования для медиаконтента:
- Субтитры для всего аудио и видео
- Поддержка Audio Descriptions
- Транскрипции для аудиоконтента
- Регулировка скорости воспроизведения
Apple ввела автоматическую проверку соответствия стандартам доступности через App Store Connect. Приложения с критическими нарушениями не допускаются к публикации. Разработчикам рекомендуется использовать встроенные инструменты Accessibility Inspector для тестирования.
Для навигации жестами требуется альтернативное управление через Switch Control. Все уведомления должны дублироваться звуковой и тактильной обратной связью. Цветовая схема интерфейса адаптируется под настройки Color Filters.
Критерии проверки UI элементов при модерации App Store
При подаче приложения на проверку в App Store, модераторы Apple оценивают UI элементы по следующим ключевым параметрам:
- Минимальная зона касания интерактивных элементов - 44x44pt
- Контрастность текста относительно фона не менее 4.5:1
- Отсутствие копирования системных иконок iOS
- Соответствие элементов управления нативным компонентам платформы
Распространенные причины отклонения приложений:
- Использование design-элементов из android-интерфейсов
- Размещение кнопок покупок вне стандартных зон взаимодействия
- Перекрытие системной строки состояния контентом
- Нестандартная навигация без очевидных путей возврата
Технические требования к визуальным элементам:
- Иконки:
- PNG формат с прозрачностью
- Размеры: 1024x1024px для App Store
- Отсутствие альфа-каналов в превью
- Скриншоты:
- 6.5' дисплей - 1242x2688px
- 5.5' дисплей - 1242x2208px
- Без статусбара устройства
Обязательные проверки перед публикацией:
- Корректное отображение на темной теме iOS
- Поддержка увеличения текста в настройках
- Отсутствие обрезанного контента при смене ориентации
- Соответствие гайдлайнам брендинга Apple
Правила внедрения жестов и анимаций для интерактивных элементов
Базовые жесты для iOS-приложений
Приложение должно поддерживать стандартный набор жестов: свайп назад для навигации, пинч для масштабирования, длительное нажатие для контекстного меню. Нестандартные жесты требуют обучающего экрана при первом запуске.
Временные характеристики анимаций:
- Переходы между экранами: 0.3-0.5 секунд
- Появление/исчезновение элементов: 0.2-0.3 секунды
- Отклик на касание: не более 0.1 секунды
Кривые анимации
Используйте UIKit dynamics вместо линейных анимаций. Рекомендованные значения демпфинга: 0.7-0.85 для плавных переходов, 0.5-0.65 для отзывчивых элементов интерфейса.
Обратная связь
Haptic feedback обязателен для:
- Успешных действий (легкий одиночный)
- Ошибок (тройной паттерн)
- Переключения состояний (двойной паттерн)
Отличия от Android
В отличие от design guidelines Android, iOS не использует материальные анимации и волновые эффекты при касании. Следует применять масштабирование и изменение прозрачности.
Оптимизация производительности
- Используйте CALayer вместо UIView для сложных анимаций
- Ограничьте количество одновременных анимаций до 3-4
- Применяйте векторную графику для масштабируемых элементов
Состояния взаимодействия
Каждый интерактивный элемент должен отображать:
- Нормальное состояние
- Состояние касания (-10% непрозрачности)
- Неактивное состояние (40% непрозрачности)
- Состояние загрузки (индикатор активности)