checkApp

Стори

ITMS-90685: CFBundleIdentifier collision

Два бандли в застосунку з однаковим ідентифікатором.

Що таке ITMS-90685?

Відмова Apple, коли два бандли в застосунку мають однаковий CFBundleIdentifier: зазвичай розширення з ідентифікатором самого застосунку або фреймворк, вбудований у застосунок і ще раз у розширення. Дайте кожному розширенню власний ідентифікатор під ідентифікатором застосунку і вбудовуйте кожен фреймворк один раз.

Звідки це береться у Flutter-застосунку

Кожен бандл у застосунку потребує власного ідентифікатора. Flutter-застосунки додають розширення для віджетів на домашньому екрані, меню «Поділитися» і notification service, і тут трапляються дві речі: target розширення, скопійований із застосунку, зберігає його ідентифікатор, або фреймворк вбудовано і в застосунок, і ще раз у розширення.

Як виправити

  1. Запустіть безкоштовну перевірку білда на .ipa. Вона назве ідентифікатор і обидва бандли, що його мають.
  2. Дайте кожному розширенню ідентифікатор під ідентифікатором застосунку, наприклад com.example.app.widget.
  3. У Xcode в налаштуваннях Frameworks для target розширення виставте спільним фреймворкам Do Not Embed, щоб вони вбудовувались лише в застосунок.
  4. Зберіть і завантажте знову.

Безкоштовна перевірка білда читає ваш .ipa в браузері й називає причину цієї та інших відмов, нічого не завантажуючи.

Або доручіть перевірити весь білд: аудит готовності до сторів — 190 €, 2 робочі дні.

Усі коди відмов