ITMS-91053: Missing API declaration
API з обовʼязковим обґрунтуванням без оголошеної причини.
Що таке ITMS-91053?
Відмова Apple за виклик API з обовʼязковим обґрунтуванням без оголошеної причини у privacy manifest. Вона приходить під час завантаження, перелічує знайдені API, і попереджувального прогону перед тим немає. Аудит готовності до сторів здебільшого саме про цей клас проблем.
Звідки це береться у Flutter-застосунку
Apple шукає в бінарниках застосунку й кожного плагіна виклики API, для яких треба оголосити причину, і звіряє їх із privacy manifest у білді. У Flutter-застосунку ці виклики зазвичай приходять із плагінів: shared_preferences читає user defaults, плагіни, що працюють із файлами, можуть читати мітки часу файлів, деякі SDK читають вільне місце на диску чи час запуску системи. Плагін, що постачається як фреймворк, має власний PrivacyInfo.xcprivacy; статично злінкований приносить його в resource bundle. Версія плагіна без маніфесту або ваш власний нативний код лягають на маніфест застосунку.
Як виправити
- Запустіть безкоштовну перевірку білда на .ipa. Вона назве категорію API і фреймворк, звідки прийшов виклик.
- Оновіть цей плагін. Поширені плагіни додали privacy manifest у 2024 році, коли Apple почала цього вимагати.
- Якщо виклик у вашому власному коді або плагін не оновити, додайте
PrivacyInfo.xcprivacyу target Runner і оголосіть категорію вNSPrivacyAccessedAPITypesз причиною зі списку Apple, яка відповідає вашому використанню. - Завантажте знову. Лист від App Store Connect перелічує кожну категорію, яку ще знайдено.
Безкоштовна перевірка білда читає ваш .ipa в браузері й називає причину цієї та інших відмов, нічого не завантажуючи.
Або доручіть перевірити весь білд: аудит готовності до сторів — 190 €, 2 робочі дні.