Uso di TestFlight per distribuire app Xamarin.iOS

TestFlight ora è di proprietà di Apple ed è lo strumento principale per testare la versione beta delle app Xamarin.iOS. Questo articolo descrive in dettaglio tutti i passaggi del processo TestFlight, dal caricamento dell'app all'uso di iTunes Connect.

Il test beta è parte integrante del ciclo di sviluppo software e sono disponibili molte applicazioni multipiattaforma per semplificare questo processo, ad esempio Visual Studio App Center, Applause e naturalmente Il test beta dell'app nativa di Google Play per le app Android. Questo documento descrive lo strumento TestFlight di Apple.

TestFlight è il servizio offerto da Apple per testare la versione beta di app iOS ed è accessibile solo tramite iTunes Connect. È attualmente disponibile per le app iOS 8.0 e versioni successive. TestFlight consente di testare la versione beta con utenti interni ed esterni e, potendo questi ultimi rivedere poi la versione beta dell'app, semplifica considerevolmente il processo di revisione finale al momento della pubblicazione nell'App Store.

In passato, il file binario veniva generato in Visual Studio per Mac e caricato nel sito Web di TestFlightApp per la distribuzione ai tester. Al nuovo processo sono stati aggiunti numerosi miglioramenti che consentono di avere nell'App Store app ben testate e di qualità elevata. Ad esempio:

  • La revisione della versione beta dell'app richiesta per il test esterno aumenta le probabilità di accettazione della revisione finale nell'App Store, in quanto in entrambi i casi è necessaria la conformità alle linee guida di Apple.
  • Prima di caricare l'app, è necessario registrarla in iTunes Connect. In questo modo si garantisce che non vi siano discordanze tra profili di provisioning, nomi e certificati.
  • TestFlight è ora un'app a tutti gli effetti e come tale risulta più veloce.
  • Dopo aver completato il test della versione beta, il processo per sottoporre l'app alla revisione è rapido ed efficiente. È sufficiente premere un pulsante.

Requisiti

Con TestFlight è possibile testare solo le app iOS 8.0 o versioni successive.

Tutti i tester devono testare l'app almeno in un dispositivo iOS 8. È tuttavia buona norma testare l'app in tutte le versioni iOS

Provisioning in corso

Per testare le compilazioni con TestFlight, è necessario creare un profilo di distribuzione dell'App Store con il nuovo entitlement beta. Questo entitlement consente di testare la versione beta tramite TestFlight ed è contenuto nel nuovo profilo di distribuzione dell'App Store. È possibile seguire le istruzioni dettagliate della guida Creating a Distribution Profile (Creazione di un profilo di distribuzione) per generare un nuovo profilo.

È possibile confermare che nel profilo di distribuzione è contenuto l'entitlement beta durante la convalida della compilazione di Xcode, come illustrato di seguito:

  1. Aprire XCode nell'host di compilazione Mac dopo l'archiviazione dell'app
  2. Selezionare il menu Libreria finestre >
  3. Selezionare Archivi a sinistra
  4. Selezionare l'archivio da convalidare e fare clic sul pulsante Convalida

Submitting the App to Apple

Flusso di lavoro di TestFlight

Il flusso di lavoro seguente illustra i passaggi necessari per iniziare a usare TestFlight e testare la versione beta dell'app:

  1. Per le nuove app, creare un record iTunes Connect.
  2. Archiviare e pubblicare l'applicazione in iTunes Connect.
  3. Gestire i test beta:
    • Aggiungere i metadati.
    • Aggiungere utenti interni:
      • Massimo 100 utenti, ogni utente può testare fino a 30 dispositivi.
    • Aggiungere utenti esterni:
      • Massimo 10000 utenti.
      • È richiesta una revisione del test della versione beta per verificare la conformità alle linee guida di Apple.
  4. Ricevere commenti e suggerimenti dagli utenti, intervenire e tornare al passaggio 2.

Creare un record iTunes Connect

  1. Accedere al portale di iTunes Connect usando le credenziali per sviluppatore Apple.

  2. Selezionare My Apps (App personali):

    Select My Apps

  3. Nella schermata My Apps (App personali) fare clic sul pulsante + nell'angolo superiore sinistro della schermata per aggiungere una nuova app. Se gli account per sviluppatore sono Mac e iOS, viene chiesto di scegliere il nuovo tipo di app.

Si aprirà la finestra di invio New iOS App (Nuova app iOS) in cui devono essere contenute esattamente le stesse informazioni specificate nel file Info.plist dell'app

Per altre informazioni sulla creazione di un nuovo record iTunes Connect, vedere la guida Creating an iTunes Connect Record (Creazione di un record iTunes Connect).

Completamento del modulo d'invio di una nuova app iOS

Il modulo deve contenere esattamente le informazioni specificate nel file Info.plist dell'app, come illustrato di seguito:

The app's Info.plistThe form on iTunes Connect

  • Name (Nome): il nome descrittivo usato per la configurazione del bundle dell'app. Deve corrispondere esattamente al nome specificato in Nome applicazione specificato nel file Info.plist.
  • Primary Language (Lingua principale): la lingua di base dell'app. Di norma è la lingua parlata.
  • Bundle ID (ID bundle):un elenco sotto forma di menu a discesa di tutti gli ID app creati nell'account per sviluppatore.
    • Bundle ID Suffix (Suffisso ID bundle): se è stato selezionato un ID bundle con carattere jolly (ad esempio un ID che termina con *, come nell'esempio illustrato sopra), viene visualizzata una finestra aggiuntiva, in cui è necessario immettere il suffisso dell'ID Bundle. In questo esempio l'ID bundle e mobi.chkn.*, mentre il suffisso è PageView. Insieme costituiscono l'ID bundle nel file Info.plist.
  • Versione (Versione): il numero della versione dell'app che viene caricata. È scelta dallo sviluppatore.
  • SKU (SKU): il codice SKU è un ID univoco per l'app, che non è visualizzato dagli utenti. Può essere inteso come se fosse l'ID prodotto. Nell'esempio precedente sono stati scelta la data e un numero di versione per tale data.

Caricare l'app

Dopo aver creato il record iTunes Connect, è possibile caricare le nuove compilazioni. Tenere presente che le compilazioni devono contenere il nuovo entitlement beta.

Prima compilare il file distribuibile finale nell'IDE, quindi inviare l'app ad Apple tramite Application Loader o la funzione di archiviazione in Xcode.

Creare un archivio

Per compilare un file binario in Visual Studio per Mac, è necessario usare la funzione Archivia. Fare clic con il pulsante destro del mouse sul progetto e selezionare Archivia per la pubblicazione come illustrato di seguito:

Select Archive for Publishing

Fare riferimento alla guida Building the Distributable (Compilazione del file distribuibile).

Firmare e distribuire l'app

Dopo aver creato un archivio, si aprirà automaticamente la visualizzazione Archivi, in cui vengono visualizzati tutti i progetti archiviati, raggruppati per soluzione. Per firmare l'app e prepararla per la distribuzione, selezionare Firma e distribuisci..., come illustrato di seguito:

Creating an archive will automatically open the Archives View

Si aprirà la pubblicazione guidata. Selezionare il canale di distribuzione App Store per creare un pacchetto e aprire Application Loader. Nella schermata Profilo di provisioning selezionare l'identità di firma e il profilo di provisioning o ripetere la firma con un'altra identità. Verificare i dettagli del pacchetto e fare clic su Pubblica per salvare il file .ipa

Select your signing identity and provisioning profile, or re-sign with another identity

Fare riferimento alla sezione Invio dell'app ad Apple per altre informazioni su questi passaggi.

Invio della compilazione

La pubblicazione guidata aprirà il programma Application Loader per caricare la compilazione in iTunes Connessione. Selezionare l'opzione Deliver Your App (Invia l'app) e caricare il file .ipa creato in precedenza. Application Loader convaliderà e caricherà la compilazione in iTunes Connect.

Fare riferimento alla sezione Invio dell'app ad Apple per altre informazioni su questi passaggi.

La guida Pubblicazione nell'App Store descrive tutti i passaggi precedenti in modo più dettagliato. Fare riferimento a questa guida per approfondire il processo di invio nell'App Store.

Tornare alla sezione My Apps (App personali) e verificare che l'applicazione sia stata caricata. A questo punto è possibile eseguire il test della versione beta.

Gestire il test della versione beta

Aggiungere metadati

Per iniziare a usare TestFlight, selezionare la scheda Prerelease (Versione provvisoria) dell'app. Sono disponibili tre schede contenenti un elenco di compilazioni, tester interni ed esterni, come illustrato di seguito:

Builds, Internal Testers, and External Testers tabs

Per aggiungere i metadati all'app, fare clic sul numero di build e selezionare TestFlight:

Add Metadata

In Test Information (Informazioni test), i tester possono ottenere le informazioni più importanti che riguardano l'app, ad esempio:

  • Cosa testare
  • La descrizione dell'app.
  • L'URL di marketing che offre informazioni sull'app che si sta aggiungendo.
  • L'URL dell'informativa sulla privacy che offre informazioni relative all'informativa sulla privacy aziendale.
  • L'indirizzo di posta elettronica a cui inviare commenti e suggerimenti.

Si noti che questi metadati non sono necessari per i tester interni, ma sono richiesti per i tester esterni.

Abilitare il test della versione beta

Quando si è pronti ad avviare il test dell'app, abilitare il comando TestFlight Beta Testing (Test beta di TestFlight) per la versione:

Turn on the TestFlight Beta Testing switch

Ogni compilazione rimane attiva per 60 giorni dalla data in cui è stata abilitata l'opzione di test della versione beta in TestFlight. Nella pagina Test Information (Informazioni test) è possibile visualizzare i giorni rimanenti per ogni compilazione:

The Test Information page

Il test può essere disabilitato in qualsiasi momento.

Tester interni

Sono tester interni i membri del team di sviluppo ai quali è assegnato uno dei ruoli seguenti in iTunes Connect:

  • Admin (Amministratore): un amministratore è autorizzato ad aggiungere e gestire nuovi utenti in iTunes Connect.
  • Legal (Legale): l'agente del team è l'unico utente amministratore a cui viene assegnato il ruolo Legal. che gli consente di firmare i contratti legali.
  • Technical (Tecnico): un utente tecnico può modificare la maggior parte delle proprietà riguardanti un'app. Può ad esempio modificare le informazioni sull'app, caricare un file binario e inviare un'app per la revisione.

Ogni compilazione può essere condivisa con un massimo di 100 membri, che possono ogni test su un massimo di 30 dispositivi.

Per aggiungere i tester, passare a Users and Roles (Utenti e ruoli) nella schermata principale di iTunes Connect:

Users and Roles on the main iTunes Connect screen

Gli utenti di iTunes Connect esistenti vengono visualizzati nell'elenco. Per selezionarli, fare clic sul nome, abilitare l'opzione Internal Tester (Tester interno) e fare clic su Save (Salva):

Turn on the Internal Tester switch

Per aggiungere un utente che non è presente nell'elenco, selezionare il pulsante + accanto a User (Utenti) e specificare nome, cognome e indirizzo di posta elettronica per creare un account. L'utente dovrà confermare l'indirizzo di elettronica per attivare l'account:

Adding a user

Se si torna a App personali > tester interni di versione preliminare>, verranno ora visualizzati gli utenti aggiunti per il test beta interno di TestFlight:

A list of users that have been added for TestFlight Internal beta testing

È possibile invitare i tester selezionando il nome e facendo clic sul pulsante Invite (Invita). I tester riceveranno un messaggio di posta elettronica contenente un invito al test dell'app.

È possibile visualizzare lo stato dell'invito nella colonna di stato della pagina Internal Testers (Tester interni):

The invitation status

Tester esterni

Prima di invitare tester esterni al test della versione beta dell'app, è necessario che l'app sia sottoposta a una revisione dell'app beta e che pertanto sia conforme alle linee guida descritte in App Store Review Guidelines (Linee guida alla revisione nell'App Store).

Per inviare l'app per la revisione, fare clic sul testo Submit For Beta App Review (Invia per revisione app beta) accanto alla compilazione, come illustrato nell'immagine seguente:

Submit For Beta App Review

L'app supera la revisione se sono stati immessi tutti i metadati necessari nella pagina Beta Information (Informazioni beta) di TestFlight.

È ora possibile iniziare a preparare gli inviti e aggiungere fino a 10000 tester esterni tramite la scheda Tester esterni, immettendo il proprio messaggio di posta elettronica, nome e cognome, come illustrato nello screenshot seguente. L'indirizzo di posta elettronica immesso non deve essere l'ID Apple, ma l'indirizzo che riceverà l'invito.

Invite testers

Se il numero di tester esterni è elevato, è possibile usare il collegamento Import File (Importa file) per importare un file CSV con il formato seguente per ogni riga:

first name, last name, email address

È anche possibile aggiungere tester esterni a gruppi diversi per organizzarli.

Dopo aver immesso i dettagli dei tester esterni, fare clic su Add (Aggiungi) e confermare di avere il consenso degli utenti a inviare un invito:

Confirm you have the users consent to invite them

Se la revisione della versione beta dell'app ha esito positivo, è possibile inviare gli inviti ai tester esterni. A questo punto, il testo sotto External (Esterno) nella pagina di compilazione diventerà Send Invites (Invia inviti). Fare clic sul collegamento per inviare gli inviti a tutti i tester che sono stati aggiunti.

Se l'app è stata rifiutata, è necessario risolvere i problemi visualizzati in Resolution Center (Centro risoluzioni) e inviare nuovamente l'intero file binario aggiornato per la revisione.

Tester beta

Dopo essere stati inviati, i tester riceveranno un messaggio di posta elettronica simile a quello nello screenshot seguente:

An example invite email

Fare clic sul pulsante Open in TestFlight (Aprire in TestFlight) per aprire l'applicazione TestFlight. Se non è già stata scaricata, si aprirà direttamente l'App Store in cui è possibile scaricarla.

Dopo aver aperto l'app in TestFlight, saranno visualizzati i dettagli di quanto è necessario e al tester sarà chiesto di installare l'applicazione nel proprio dispositivo iOS 8.0 (o versione successiva):

TestFlight will show details of what to test for

Le compilazioni di test vengono contrassegnate nella schermata iniziale del dispositivo da un punto arancione che precede il nome dell'applicazione.

I tester possono inviare commenti e suggerimenti tramite l'app TestFlight e riceverai queste informazioni all'indirizzo di posta elettronica fornito nei metadati.

Test beta completato

Dopo aver completato il test della versione beta, è ora possibile inviare l'app da sottoporre alla revisione nell'App Store di Apple. Questo processo avviene molto semplicemente in iTunes Connect facendo clic sul pulsante Submit for Review (Invia per la revisione), come illustrato di seguito:

Click the Submit for Review button

Riepilogo

Questo articolo ha illustrato come usare il test della versione beta in TestFlight di Apple tramite iTunes Connect. Ha descritto come caricare una nuova compilazione in iTunes Connect e come invitare tester beta interni ed esterni a usare l'app.