Отказ из-за Privacy Manifest означает, что декларации приватности в собранном приложении не соответствуют фактическому коду или требованиям используемых SDK.
Исправление начинается не с копирования чужого файла, а с проверки текста отказа, состава архива и реального обращения приложения к данным и системным API.
Как выглядит проблема при проверке App Store
Ошибка может появиться при загрузке сборки или уже во время App Review.
- App Store Connect сообщает об отсутствующем или некорректном privacy manifest.
- В отказе указан сторонний SDK, которого нет в основном target проекта.
- Система требует причину использования определенной категории API.
- Локальная проверка проходит, но архив в App Store отклоняется.
Почему возникает проблема
Чаще всего декларация существует в репозитории, но не попадает в нужный bundle или не покрывает зависимости.
- PrivacyInfo.xcprivacy не включен в ресурсы нужного target.
- Сторонний SDK использует API или собирает данные без собственной декларации.
- В required reason API выбрана причина, не соответствующая поведению кода.
- Типы собираемых данных и их назначение описаны неполно.
- В архив попала другая версия SDK или manifest, чем ожидалось.
Пошаговая диагностика
Проверять нужно именно экспортированный archive, потому что App Store анализирует его, а не структуру исходного проекта.
- Сохраните полный текст отказа и перечисленные Apple компоненты или категории API.
- Откройте содержимое .xcarchive и найдите manifests во всех app, framework и extension bundles.
- Сопоставьте версии сторонних SDK с документацией их поставщиков.
- Проверьте обращения к required reason API в собственном коде и зависимостях.
- Сформируйте privacy report и сравните его с карточкой приложения в App Store Connect.
Декларируйте только фактическое поведение
Лишние отметки не делают сборку безопаснее и могут создать новое несоответствие.
- Каждый тип данных связывается с реальной целью сбора и передачей третьим лицам.
- Причины использования API выбираются по фактическому сценарию кода.
- Manifest расширений и библиотек учитывается вместе с основным приложением.
- Изменения в декларациях согласуются с privacy policy и карточкой приложения.
Как исправить проблему
После диагностики исправьте ресурсы target и зависимости, затем соберите новый чистый архив.
- Добавьте PrivacyInfo.xcprivacy в нужные targets и проверьте Copy Bundle Resources.
- Обновите или замените SDK, поставляемый без необходимых деклараций.
- Укажите подтвержденные категории данных, цели и required reasons.
- Удалите неиспользуемые библиотеки и вызовы API, которые создают требование.
- Очистите build cache, пересоберите archive и повторно проверьте его состав.
Как проверить результат
- Manifest присутствует в каждом нужном bundle готового архива.
- Privacy report не содержит неизвестных источников данных или API.
- App Store Connect принимает новую сборку без прежнего предупреждения.
- Privacy policy и ответы в App Store Connect соответствуют manifest.
Типичные ошибки
- Копировать универсальный manifest из случайного проекта.
- Проверять только файл в Xcode, не открывая готовый archive.
- Игнорировать manifests сторонних frameworks и extensions.
- Декларировать все категории на всякий случай.
Как предотвратить повторение
- Проверяйте privacy report перед каждой отправкой релиза.
- Фиксируйте версии SDK и отслеживайте изменения их privacy manifests.
- Добавьте проверку наличия PrivacyInfo.xcprivacy в CI.
- Пересматривайте декларации при добавлении аналитики, рекламы и новых разрешений.
Когда нужна помощь
Если App Store отклоняет сборку из-за Privacy Manifest, я разберу архив и зависимости, найду точное несоответствие и подготовлю корректное исправление без ложных деклараций.