checkApp

Store

ITMS-90685: CFBundleIdentifier collision

Due bundle nell'app con lo stesso identificatore.

Che cos'è ITMS-90685?

Il rifiuto di Apple quando due bundle dentro l'app hanno lo stesso CFBundleIdentifier: di solito un'estensione con l'identificatore dell'app stessa, o un framework incorporato nell'app e di nuovo in un'estensione. Date a ogni estensione un identificatore proprio sotto quello dell'app e incorporate ogni framework una sola volta.

Da dove arriva in un'app Flutter

Ogni bundle dentro l'app ha bisogno di un identificatore proprio. Le app Flutter aggiungono estensioni per widget della schermata Home, menu di condivisione e notification service, e lì succedono due cose: un target di estensione copiato dall'app ne conserva l'identificatore, oppure un framework viene incorporato nell'app e di nuovo nell'estensione.

Come risolverlo

  1. Eseguite il controllo gratuito della build sull'.ipa. Indica l'identificatore ed entrambi i bundle che lo usano.
  2. Date a ogni estensione un identificatore sotto quello dell'app, come com.example.app.widget.
  3. In Xcode, nelle impostazioni Frameworks del target dell'estensione, impostate i framework condivisi su Do Not Embed, così vengono incorporati solo nell'app.
  4. Ricompilate e caricate di nuovo.

Il controllo gratuito della build legge il vostro .ipa nel browser e indica la causa di questo e degli altri rifiuti, senza caricare nulla.

Oppure fate verificare l'intera build: la verifica degli store costa 190 €, 2 giorni lavorativi.

Tutti i codici di rifiuto