Skip to Content
FlutterLezione 6 Pubblicazione Nei Market6.3 Pubblicazione su iOS (App Store)

Pubblicazione su iOS (App Store)

Obiettivo

Imparare a preparare, firmare e caricare un’app Flutter per la pubblicazione sull’App Store di Apple.


Requisiti

RequisitoDescrizione
macOSSolo Mac può buildare app iOS
XcodeIDE ufficiale Apple
Account Developer Apple$99/anno su developer.apple.com
Certificati e ProvisioningNecessari per firma e distribuzione

Configurazione iniziale

1. Apri il progetto iOS

open ios/Runner.xcworkspace

2. Imposta il Bundle ID

In Xcode: Targets > Runner > General

  • Inserisci un identificativo univoco (es. com.tuonome.app)
  • Associa al tuo team Apple Developer

3. Configura Display Name e Icona

  • CFBundleDisplayName in Info.plist
  • Usa flutter_launcher_icons per generare le icone

Firma e provisioning

  • Vai su Signing & Capabilities
  • Seleziona “Automatically manage signing”
  • Scegli il tuo team Apple Developer
  • Xcode genera certificati e provisioning profile

⚠️ Se vuoi firmare manualmente, devi creare certificati e profili da Apple Developer


Build con Xcode

  1. Menu Product > Archive
  2. Dopo l’archiviazione si apre Xcode Organizer
  3. Premi “Distribute App”
    • Metodo: App Store Connect
    • Firma automatica o manuale
  4. Una volta caricato, verifica su App Store Connect

App Store Connect

  1. Accedi su appstoreconnect.apple.com
  2. Vai su “My Apps” e crea una nuova app
  3. Inserisci:
    • Nome app
    • Bundle ID
    • Categoria, lingua, descrizione
    • Icone, screenshot
    • Informativa privacy
  4. Collega il build caricato
  5. Invia per revisione

TestFlight

Apple consente di testare l’app prima della pubblicazione tramite TestFlight:

  • Crea un gruppo tester
  • Invita via email
  • Ottieni feedback

🟡 La prima build richiede approvazione anche per TestFlight


Problemi comuni

ErroreSoluzione
Provisioning profile not foundVerifica bundle ID e team selezionato
Missing iconsRigenera con flutter_launcher_icons
Build fallisceApri Runner.xcworkspace, non .xcodeproj
App rejectedControlla privacy, contenuti e linee guida Apple