Ответ
Основные сложности были связаны с внедрением новых обязательных функций и изменением ключевых API.
1. Темная тема (Dark Mode) Требовала системного перехода от жестко заданных цветов к семантическим.
// Проблема: хардкод цветов
view.backgroundColor = .white
// Решение: использование системных цветов
view.backgroundColor = .systemBackground
Неадаптированные приложения могли показывать нечитаемый текст (например, белый текст на белом фоне).
2. Вход через Apple (Sign In with Apple) Стал обязательным для приложений, предлагающих сторонние способы входа (Google, Facebook). Отсутствие этой опции приводило к отклонению приложения в App Store.
3. Новый фоновый режим (BackgroundTasks)
Фреймворк BackgroundTasks заменил устаревшие UIApplication методы, но в ранних версиях iOS 13 был нестабилен и сложен в отладке.
4. Diffable Data Source для UICollectionView
Новый декларативный API (UICollectionViewDiffableDataSource) требовал переписывания логики обновления данных и страдал от недостатка документации и багов на старте.
5. Ужесточение политики конфиденциальности
Потребовались новые ключи в Info.plist (например, NSLocationAlwaysAndWhenInUseDescription) и явные запросы разрешений для доступа к геолокации и Bluetooth, что усложнило логику инициализации.