ITMS-90208: Invalid bundle — мінімальна версія iOS
Фреймворк заявляє старішу мінімальну iOS, ніж його бінарка.
Що таке ITMS-90208?
Відмова Apple, коли фреймворк у застосунку заявляє у власному Info.plist старішу мінімальну iOS, ніж та, під яку зібрано його бінарку. До Flutter 3.41 це зазвичай був App.framework: його Info.plist копіювався з ios/Flutter/AppFrameworkInfo.plist і зберігав старий MinimumOSVersion. Починаючи з 3.41 збірка записує цей ключ сама, тож оновлення Flutter це виправляє; на старішій версії вкажіть там версію, під яку зібрано бінарку.
Звідки це береться у Flutter-застосунку
Кожен фреймворк у застосунку має власний Info.plist, і App Store Connect відхиляє завантаження, коли один із них заявляє старішу мінімальну iOS, ніж та, під яку зібрано його бінарку. До Flutter 3.41 це зазвичай був App.framework: його Info.plist копіювався з ios/Flutter/AppFrameworkInfo.plist, де MinimumOSVersion лишався таким, як його поставив шаблон проєкту. Починаючи з 3.41 збірка записує цей ключ сама й прибирає старий із файлу. Плагін, що постачається як фреймворк, може мати таку саму розбіжність.
Як виправити
- Запустіть безкоштовну перевірку білда на .ipa. Вона назве фреймворк і обидві версії.
- Для
App.frameworkоновіть Flutter до 3.41 або новішого. Якщо поки не можна, вкажіть вios/Flutter/AppFrameworkInfo.plistMinimumOSVersion, під яку зібрано бінарку. - Для фреймворку плагіна оновіть плагін до версії, де фреймворк заявляє правильну версію.
- Запустіть
flutter cleanі зберіть знову.
Безкоштовна перевірка білда читає ваш .ipa в браузері й називає причину цієї та інших відмов, нічого не завантажуючи.
Або доручіть перевірити весь білд: аудит готовності до сторів — 190 €, 2 робочі дні.