[Перевод] Как исправить ITMS-91053: Missing API declaration
Если вы разработчик iOS (или Flutter, как я) приложений, вероятно, вы уже сталкивались с предупреждением от Apple: ITMS-91053: Missing API Declaration.
Письмо от Apple
Почему Apple отправляет письма разработчикам?
Apple стремится улучшать защиту данных пользователей и требует от разработчиков предоставления детальной информации о том, как их приложения используют личные данные. Введение требования о файле PrivacyInfo.xcprivacy направлено на то, чтобы разработчики явно указывали, какие данные собирают их приложения, и для каких целей эти данные используются.
Крайний срок для заполнения файла PrivacyInfo.xcprivacy
До 1 мая 2024 года все приложения должны быть обновлены и должны содержать файл PrivacyInfo.xcprivacy с корректно заполненной информацией о конфиденциальности.
Для начала обновим библиотеки
Большинство библиотек уже включают в себя Privacy Manifest. Проверьте обновления для используемых вами библиотек.
Alamofire уже добавили Privacy Manifest, а ты нет
Создание и заполнение файла PrivacyInfo.xcprivacy
Создание файла
File → New → File
Выберите шаблон App Privacy
Назовите файл PrivacyInfo и сохраните
Заполнение файла
Указать тип данных из письма от Apple (например, местоположение, контакты, фотографии и т.д.)
Найти категорию в документации
Описать, как эти данные используются вашим приложением и обосновать необходимость сбора этих данных
Заполненный Privacy Manifest
Пример моего кода:
NSPrivacyTracking
NSPrivacyTrackingDomains
NSPrivacyCollectedDataTypes
NSPrivacyAccessedAPITypes
NSPrivacyAccessedAPIType
NSPrivacyAccessedAPICategoryFileTimestamp
NSPrivacyAccessedAPITypeReasons
3B52.1
NSPrivacyAccessedAPIType
Disk space
NSPrivacyAccessedAPITypeReasons
7D9E.1
NSPrivacyAccessedAPIType
System boot time
NSPrivacyAccessedAPITypeReasons
35F9.1
NSPrivacyAccessedAPIType
User defaults
NSPrivacyAccessedAPITypeReasons
CA92.1
Советы по заполнению
Убедитесь, что вы указываете все данные, которые собираете, а также цель сбора данных.
Будьте честны. Это поможет избежать проблем с проверкой приложения.
Если вы не знаете с какой целью в приложении используется определённая категория, вы можете найти в коде конкретные методы. Marco Eidinger рассказывает об этом способе в своей статье.
Заключение
Не забудьте, что до 1 мая 2024 все приложения должны быть обновлены с учетом новых требований конфиденциальности и должны содержать файл PrivacyInfo.xcprivacy. Не затягивайте с обновлением файла!
Если было интересно и полезно, приглашаю в свой Linkedin.
Полезные ссылки
Describing use of required reason API.
Privacy manifest files.
WWDC23 Privacy report.
Example of PrivacyInfo.xcprivacy.