Condividi tramite


Pubblicare un'app iOS per la distribuzione interna

La distribuzione interna consente ai membri del Programma Apple Developer Enterprise di distribuire le app internamente ad altri membri della stessa organizzazione. Questo ha il vantaggio di non richiedere una revisione dell'App Store e non avere limiti al numero di dispositivi in cui è possibile installare un'app. Tuttavia, i membri del Programma Apple Developer Enterprise non hanno accesso ad App Store Connect e pertanto il licenziatario è responsabile della distribuzione dell'app.

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 della distribuzione interna 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 l'organizzazione, se non ne è già disponibile uno.

Il processo di creazione di un profilo di provisioning della distribuzione interna è 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.

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 della distribuzione interna consente all'app .NET MAUI iOS di essere firmata digitalmente per il rilascio. Un profilo di provisioning della distribuzione interna 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 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 DNS 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.

  6. 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.

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

  8. Nella pagina Registra un ID app immettere i dettagli di distribuzione, se disponibili, prima di 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 della distribuzione:

  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 In House prima di fare clic sul pulsante Continua:

    Registrare un profilo di provisioning per nella distribuzione interna.

  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 MAUI per la distribuzione interna:

  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 Enterprise:

    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 e immettere un nome file. L'app verrà quindi rifirmato e pubblicato in un file con estensione ipa nel file system.

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.

Le app interne possono essere distribuite tramite un sito Web sicuro o tramite mobile Gestione dispositivi (MDM). Entrambi questi approcci richiedono che l'app sia preparata per la distribuzione, che include la preparazione di un manifesto. Per altre informazioni, vedere Distribuire app interne proprietarie ai dispositivi Apple in support.apple.com.