Condividi tramite


Pubblicare un'app iOS per la distribuzione dell'App Store

L'approccio più comune alla distribuzione di app iOS agli utenti consiste nell'App Store. Le app vengono inviate all'App Store tramite uno strumento online denominato App Store Connect. Solo gli sviluppatori che appartengono al Programma Apple Developer hanno accesso a questo strumento. I membri del programma Apple Developer Enterprise non hanno accesso. Tutte le app inviate all'App Store richiedono l'approvazione da Apple.

La distribuzione di un'app iOS richiede il provisioning dell'app usando un profilo di provisioning. I profili di provisioning sono file che contengono informazioni sulla firma del codice, nonché l'identità dell'app e il relativo meccanismo di distribuzione previsto.

Per distribuire un'app iOS (.NET Multi-Platform App UI) multipiattaforma , è necessario creare un profilo di provisioning di distribuzione specifico. Questo profilo consente di firmare digitalmente l'app per il rilascio in modo che possa essere installata in un dispositivo iOS. Un profilo di provisioning di distribuzione contiene un ID app e un certificato di distribuzione. Puoi usare lo stesso ID app usato durante la distribuzione dell'app in un dispositivo per il test. Tuttavia, è necessario creare un certificato di distribuzione per identificare se stessi o l'organizzazione, se non ne è già disponibile uno.

Il processo di creazione di un profilo di provisioning della distribuzione di App Store è il seguente:

  1. Creare un certificato di distribuzione. Per altre informazioni, vedere Creare un certificato di distribuzione.
  2. Creare un ID app. Per altre informazioni, vedere Creare un ID app.
  3. Creare un profilo di provisioning. Per altre informazioni, vedere Creare un profilo di provisioning.

Importante

Apple ha un'informativa sulla privacy per le app destinate a iOS nell'App Store. È necessario che l'app includa un file manifesto della privacy nel bundle dell'app, che elenca i tipi di dati raccolti dall'app MAUI .NET o da qualsiasi SDK e pacchetti di terze parti e i motivi per cui si usano le API per motivi necessari. Se l'uso delle API necessarie o degli SDK di terze parti non viene dichiarato nel manifesto della privacy, l'app potrebbe essere rifiutata dall'App Store. Per altre informazioni, vedere Il manifesto della privacy di Apple.

Creare un certificato di distribuzione

Viene usato un certificato di distribuzione per confermare l'identità. Prima di creare un certificato di distribuzione, è necessario assicurarsi di aver aggiunto l'account apple developer a Visual Studio. Per altre informazioni, vedere Gestione degli account Apple.

È necessario creare un certificato di distribuzione solo se non ne è già disponibile uno. Il certificato di distribuzione deve essere creato usando l'ID Apple per l'account Apple Developer.

Per creare un certificato di distribuzione in Visual Studio:

  1. In Visual Studio passare a Strumenti > Opzioni > account Apple Xamarin>.
  2. Nella finestra di dialogo Account per sviluppatori Apple selezionare un team e fare clic sul pulsante Visualizza dettagli.
  3. Nella finestra di dialogo Dettagli fare clic su Crea certificato e selezionare Distribuzione iOS. Verrà creata una nuova identità di firma e verrà eseguita la sincronizzazione con Apple, purché siano disponibili le autorizzazioni corrette.

Importante

La chiave privata e il certificato che costituiscono l'identità di firma verranno esportati anche in Keychain Access nell'host di compilazione Mac, purché l'IDE sia associato. Per altre informazioni, vedere Associare a Mac per lo sviluppo iOS.

Coppie di chiavi del certificato

Un profilo di distribuzione contiene certificati, chiavi associate e tutti i profili di provisioning associati all'account Apple Developer. Esistono due versioni di un profilo di distribuzione, una nell'account Apple Developer e l'altra si trova in un computer locale. La differenza tra i due è il tipo di chiavi che contengono: il profilo nell'account Apple Developer contiene tutte le chiavi pubbliche associate ai certificati, mentre la copia nel computer locale contiene tutte le chiavi private. Affinché i certificati siano validi, le coppie di chiavi devono corrispondere.

Avviso

La perdita del certificato e delle chiavi associate può comportare un'interruzione incredibile, perché richiederà la revoca dei certificati esistenti e la ricreazione dei profili di provisioning.

Creare un profilo di distribuzione

Un profilo di provisioning di distribuzione consente all'app .NET MAUI iOS di essere firmata digitalmente per la versione, in modo che possa essere installata in un dispositivo iOS. Un profilo di provisioning di distribuzione contiene un ID app e un certificato di distribuzione.

Creare un'ID app

È necessario un ID app per identificare l'app che si sta distribuendo. Un ID app è simile a una stringa DNS inversa, che identifica in modo univoco un'app e deve essere identico all'identificatore del bundle per l'app. Puoi usare lo stesso ID app usato durante la distribuzione dell'app in un dispositivo per il test.

Esistono due tipi di ID app:

  • Carattere jolly. Un ID app con caratteri jolly consente di usare un singolo ID app per trovare una corrispondenza con più app e in genere assume il formato com.domainname.*. Un ID app con caratteri jolly può essere usato per distribuire più app e deve essere usato per le app che non abilitano funzionalità specifiche dell'app.
  • Esplicita. Un ID app esplicito è univoco per una singola app e in genere assume il formato com.domainname.myid. Un ID app esplicito consente la distribuzione di un'app, con un identificatore di bundle corrispondente. Gli ID app espliciti vengono in genere usati per le app che abilitano funzionalità specifiche dell'app, ad esempio Apple Pay o Game Center. Per altre informazioni sulle funzionalità, vedere Funzionalità.

Per creare un nuovo ID app:

  1. Nell'account apple developer passare a Certificati, ID e profili.

  2. Nella pagina Certificati, Identificatori e profili selezionare la scheda Identificatori .

  3. Nella pagina Identificatori fare clic sul + pulsante per creare un nuovo ID app.

  4. Nella pagina Registra un nuovo identificatore selezionare il pulsante di opzione ID app prima di fare clic sul pulsante Continua:

    Creare un ID app.

  5. Nella pagina Registra un nuovo identificatore selezionare App prima di fare clic sul pulsante Continua :

    Registra un ID app.

  6. Nella pagina Registra un ID app immettere una descrizione e selezionare il pulsante di opzione ID bundle esplicito o jolly . Immettere quindi l'ID bundle per l'app in formato DS inverso:

    Specificare l'identificatore del bundle per l'app.

    Importante

    L'ID bundle immesso deve corrispondere all'identificatore bundle nel file Info.plist nel progetto dell'app.

    L'identificatore del bundle per un'app MAUI .NET viene archiviato nel file di progetto come proprietà ID applicazione. In Visual Studio, in Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di app .NET MAUI e scegliere Proprietà. Passare quindi alla scheda Generale condiviso > MAUI. Il campo ID applicazione elenca l'identificatore del bundle.

    Quando il valore del campo ID applicazione viene aggiornato, il valore dell'identificatore bundle in Info.plist verrà aggiornato automaticamente.

  7. Nella pagina Registra un ID app selezionare le funzionalità usate dall'app. Tutte le funzionalità devono essere configurate sia in questa pagina che nel file Entitlements.plist nel progetto dell'app. Per altre informazioni, vedere Funzionalità e diritti.

  8. Nella pagina Registra un ID app fare clic sul pulsante Continua .

  9. Nella pagina Conferma ID app fare clic sul pulsante Registra .

Creare un profilo di provisioning

Dopo aver creato l'ID app, è necessario creare un profilo di provisioning della distribuzione. Questo profilo consente di firmare digitalmente l'app per il rilascio in modo che possa essere installata in un dispositivo iOS.

Per creare un profilo di provisioning per la distribuzione di App Store:

  1. Nella pagina Certificati, Identificatori e profili dell'account Apple Developer selezionare la scheda Profili .

  2. Nella scheda Profili fare clic sul + pulsante per creare un nuovo profilo.

  3. Nella pagina Registra un nuovo profilo di provisioning selezionare il pulsante di opzione App Store prima di fare clic sul pulsante Continua:

    Registrare un profilo di provisioning per la distribuzione dell'App Store.

  4. Nell'elenco a discesa ID app della pagina Genera profilo di provisioning selezionare l'ID app creato in precedenza prima di fare clic sul pulsante Continua:

    Selezionare l'ID app.

  5. Nella pagina Genera profilo di provisioning selezionare il pulsante di opzione corrispondente al certificato di distribuzione prima di fare clic sul pulsante Continua:

    Selezionare il certificato di distribuzione.

  6. Nella pagina Genera profilo di provisioning immettere un nome per il profilo di provisioning prima di fare clic sul pulsante Genera:

    Generare il profilo di provisioning.

    Nota

    Prendere nota del nome del profilo di provisioning, perché sarà necessario quando si firma l'app.

  7. Nella pagina Genera un profilo di provisioning fare clic sul pulsante Scarica per scaricare il profilo di provisioning.

    Nota

    Non è necessario scaricare ora il profilo di provisioning. Questa operazione verrà invece eseguita in Visual Studio.

Scaricare i profili di provisioning in Visual Studio

Dopo aver creato un profilo di provisioning della distribuzione nell'account Apple Developer, Visual Studio può scaricarlo in modo che sia disponibile per la firma dell'app:

  1. In Visual Studio passare a Strumenti > Opzioni > account Apple Xamarin>.
  2. Nella finestra di dialogo Account sviluppatore Apple selezionare il team e fare clic su Visualizza dettagli.
  3. Nella finestra di dialogo Dettagli verificare che il nuovo profilo venga visualizzato nell'elenco Profili di provisioning. Potrebbe essere necessario riavviare Visual Studio per aggiornare l'elenco.
  4. Nella finestra di dialogo Dettagli fare clic su Scarica tutti i profili.

I profili di provisioning vengono scaricati in Windows ed esportati nell'host di compilazione Mac se l'IDE è associato. Per altre informazioni, vedere Associare a Mac per lo sviluppo iOS.

Pubblicazione dell'app

Visual Studio può pubblicare un'app IOS .NET per la distribuzione di App Store e caricarla nell'App Store. Tuttavia, prima di poter caricare un'app nell'App Store, è necessario:

  • Creare un record per l'app da caricare nell'App Store in App Store Connect. Questo record include tutte le informazioni sull'app così come verranno visualizzate nell'App Store e tutte le informazioni necessarie per gestire l'app tramite il processo di distribuzione. Per altre informazioni, vedere Creare un record di app in developer.apple.com.
  • Creare una password specifica dell'app. Per informazioni sulla generazione di una password specifica dell'app, vedere Accedere alle app con l'ID Apple usando password specifiche dell'app in support.apple.com.

Per pubblicare un'app iOS .NET MAUI per la distribuzione dell'App Store:

  1. In Visual Studio verificare che l'IDE sia associato a un host di compilazione Mac. Per altre informazioni, vedere Associare a Mac per lo sviluppo iOS.

  2. Nella barra degli strumenti di Visual Studio usare l'elenco a discesa Destinazione di debug per selezionare Dispositivi remoti iOS e quindi Dispositivo remoto:

    Selezionare il dispositivo remoto in Visual Studio.

  3. Nella barra degli strumenti di Visual Studio usare l'elenco a discesa Configurazione soluzioni per passare dalla configurazione di debug alla configurazione della versione:

    Selezionare la configurazione della versione in Visual Studio.

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di app .NET MAUI e scegliere Proprietà. Passare quindi alla scheda Firma bundle iOS e assicurarsi che Scheme sia impostato su Provisioning manuale, l'identità di firma sia impostata su Distribuzione (automatica) e il profilo di provisioning sia impostato su Automatico:

    Screenshot della scheda di firma del bundle per iOS in Visual Studio.

    Queste impostazioni garantiscono che Visual Studio selezioni il profilo di provisioning corretto in base all'identificatore del bundle in Info.plist (identico al valore della proprietà ID applicazione nel file di progetto). In alternativa, impostare l'identità di firma sul certificato di distribuzione appropriato e sul profilo di provisioning sul profilo creato nell'account Apple Developer.

  5. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di app .NET MAUI e scegliere Pubblica...:

    Selezionare la voce di menu Pubblica in Visual Studio.

    Gestione archivio aprirà e Visual Studio inizierà ad archiviare il bundle dell'app:

    Screenshot di Gestione archivi in Visual Studio.

    Il processo di archiviazione firma l'app con il certificato e i profili di provisioning specificati nella scheda Firma bundle iOS per la configurazione della soluzione selezionata.

  6. In Gestione archivi, una volta completata l'archiviazione, verificare che l'archivio sia selezionato e quindi selezionare il pulsante Distribuisci ... per avviare il processo di creazione del pacchetto dell'app per la distribuzione:

    Screenshot del gestore archivi in Visual Studio al termine dell'archiviazione.

    Verrà visualizzata la finestra di dialogo Distribuisci - Seleziona canale .

  1. Nella finestra di dialogo Distribuisci - Seleziona canale selezionare il pulsante App Store:

    Screenshot della selezione di un canale di distribuzione nella finestra di dialogo di distribuzione.

  2. Nella finestra di dialogo Distribuisci - Identità di firma selezionare l'identità di firma e il profilo di provisioning:

    Screenshot della selezione di un'identità di firma nella finestra di dialogo di distribuzione.

    Nota

    È consigliabile usare l'identità di firma e il profilo di provisioning creati per l'app e il canale di distribuzione selezionato.

  3. Nella finestra di dialogo Distribuisci - Identità di firma selezionare il pulsante Salva con nome o il pulsante Carica nell'archivio. Il pulsante Salva con nome consente di immettere un nome file, prima di firmare nuovamente l'app e pubblicarla in un file con estensione ipa nel file system per il caricamento successivo nell'App Store tramite un'app come Transporter. Il pulsante Carica nello Store rifirmerà l'app e la pubblicherà in un file con estensione ipa , prima di caricarla nell'App Store.

    1. Se si seleziona il pulsante Carica nell'archivio , la finestra di dialogo Carica per archiviare le credenziali verrà visualizzata dopo che Visual Studio ha creato il file con estensione ipa . Nella finestra di dialogo Carica per archiviare le credenziali immettere l'ID Apple e la password specifica dell'app e selezionare il pulsante OK:

      Screenshot dell'immissione della password specifica dell'app per caricare l'app nell'App Store.

    Visual Studio convaliderà il pacchetto dell'app e lo caricherà nell'App Store, purché tu abbia creato un record dell'applicazione in App Store Connect.

Per informazioni sulla pubblicazione di un'app iOS tramite l'interfaccia della riga di comando, vedere Pubblicare un'app iOS usando la riga di comando.

Risoluzione dei problemi

Il transporter può essere usato per identificare gli errori con i pacchetti dell'app che interrompino l'invio riuscito all'App Store.