checkApp

Store

ITMS-90208: Invalid bundle — versione minima di iOS

Un framework dichiara un iOS minimo più vecchio del suo binario.

Che cos'è ITMS-90208?

Il rifiuto di Apple quando un framework dentro l'app dichiara, nel proprio Info.plist, un iOS minimo più vecchio di quello per cui è compilato il suo binario. Prima di Flutter 3.41 di solito era App.framework, il cui Info.plist veniva copiato da ios/Flutter/AppFrameworkInfo.plist e conservava un vecchio MinimumOSVersion. Dalla 3.41 la build scrive quella chiave da sola, quindi aggiornare Flutter risolve; con una versione precedente, impostatela lì alla versione per cui è compilato il binario.

Da dove arriva in un'app Flutter

Ogni framework nell'app ha il proprio Info.plist, e App Store Connect rifiuta il caricamento quando uno dichiara un iOS minimo più vecchio di quello per cui è compilato il suo binario. Prima di Flutter 3.41 di solito era App.framework: il suo Info.plist veniva copiato da ios/Flutter/AppFrameworkInfo.plist, il cui MinimumOSVersion restava quello messo dal template del progetto. Dalla 3.41 la build scrive quella chiave da sola e toglie la vecchia dal file. Un plugin distribuito come framework può avere la stessa discrepanza.

Come risolverlo

  1. Eseguite il controllo gratuito della build sull'.ipa. Indica il framework ed entrambe le versioni.
  2. Per App.framework aggiornate Flutter alla 3.41 o successiva. Se non potete ancora, impostate MinimumOSVersion in ios/Flutter/AppFrameworkInfo.plist alla versione per cui è compilato il binario.
  3. Per il framework di un plugin, aggiornate il plugin a una versione il cui framework dichiari la versione corretta.
  4. Eseguite flutter clean e ricompilate.

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