Intro
In questo articolo analizzeremo come pubblicare un’app iOS sviluppata con l’IDE Visual Studio, sull’ App Store di Apple.
Questa guida pertanto, può risultare particolarmente utile a chi abbia sviluppato un’app utilizzando la piattaforma Xamarin di Microsoft.
Per maggiori informazioni su Xamarin si consiglia questa lettura.
Anzitutto è bene precisare che per pubblicare un’app iOS, è necessario possedere un mac fisico, o quantomeno una macchina virtuale che fa girare un sistema macOS.
Inoltre, è bene precisare sin da subito che la procedura è lunga, macchinosa e complessa, quindi armati di calma, pazienza e un pizzico di masochismo.
I casi sono due, o state sviluppando direttamente sul Mac, oppure state sviluppando con l’IDE Visual Studio su un pc Windows e allora si rende necessario installare XCode sul mac ed eseguire il pairing tra Visual Studio e Mac. Per il pairing rimandiamo a questa guida ufficiale Microsoft.
Account Apple
Creare un account Apple, la procedura è semplice e senza particolari problemi. Collegare il proprio mac al proprio account apple. Al seguente link è possibile visionare i dispositivi Apple collegati al proprio account Apple: appleid.apple.com/account/manage
Loggarsi all’area Developer con le proprie credenziali Apple a questo indirizzo: developer.apple.com
All’interno del proprio account developer è possibile trovare:
- Certificates: Servono a creare il provisioning profile (cioè i “Profiles” che leggete più in basso).
- Identifiers: Qui potete inserire l’app ID.
- Profiles: Sono i “provisioning profiles” che servono per firmare l’app. Le app infatti per essere create devono sempre essere firmate.
iOS usa i profili di provisioning (ossia i “provisioning profiles”) per gestire la distribuzione di una build. Questi profili sono dei file che contengono informazioni sul certificato che viene usato per firmare l’app.
Per lo sviluppo e la distribuzione ad hoc, il profilo di provisioning include anche l’elenco dei dispositivi consentiti in cui è possibile distribuire l’app.
Per la distribuzione tramite l’App Store, sono invece incluse solo le informazioni che riguardano il certificato (che hai creato prima!) e l’ID app, in quanto l’App Store è l’unico meccanismo per la distribuzione pubblica.
Creare il certificato e il distribution profile
Crea certificato CSR
Questo certificato CSR, che si genera con un mac, serve per ottenere in un secondo momento, il certificato dalla console Apple developer. In questo modo Apple è sicura che si stia utilizando un mac Apple.
-
- Recarsi sulla console Apple Developer. Certificati, Ids e Profile > Certificati > Crea certificato.
- Per creare il certificato occorre creare sul mac un Certificate Signing Request (CSR). Per creare il certificato CSR devi usare il mac. Aprire il portachiavi e in alto a sinistra su Portachiavi nella top bar, andare su Certificate Assistant, richiedere il certificato da una autorità di certificazione.
-
- Salvare su disco.
- Recarsi su Apple developer e usa questo certificato CSR per creare il tuo certificato Apple developer.
- Scaricare il certificato creato e fai doppio clic per installarlo sul mac.
ATTENZIONE: Assicurarsi che dentro Xcode, Preferences, Account, l’account apple non sia disconnesso.
Creare un distribution profile
Il distribution profile ha in sè l’ App ID, e il Provisioning Profile.
-
- Creare App ID: Vai nel Apple developer Center e su Profile crei un nuovo profile, selezionando “App ID”. Il nome dovrebbe essere così composto: com.[DomainName].[AppName] esempio: “com.doa.Lex365”.
- Creare Provisioning Profile: Vai su Profile>seleziona App Store e Continua. Assegna l’App ID al provisioning profile che stai creando e crealo.
Aprire Visual Studio
- Aggiungere un profilo sviluppatore Apple a Visual Studio.
- Strumenti/Opzioni/Xamarin/Account Apple.
- Inserire email e pw.
- Selezionare il profilo creato nell’area più in basso, e cliccare su “Visualizza dettagli”. Dovreste vedere i certificati e i profili di provisioning.
- Scaricare tutti i profili.
- Cliccare col destro sul progetto e proprietà. Assicurarsi di aver impostato iOS come progetto di avvio e la versione di release.
- Cliccare nel menu a sinistra su firma il pacchetto iOS.
- Assicurarsi che Configurazione sia impostato su “Rilascio”, e che la Piattaforma sia impostata su iPhone e che sia selezionato il Provisioning manuale.
- Impostare Identità di firma su: provisioning profile.
- Come Profilo di provisioning, selezionare il profilo di provisioning dell’App Store creato in precedenza.
ITunes Connect (Console per App Store)
- Recarsi in Itunes Connect: itunesconnect.apple.com
- Inserire tutte le informazioni richieste per l’app, come ad esempio nome, screenshot e descrizione.
- Adesso Itunes Connect è in attesa di ricevere da noi, il file .aps per poter eseguire la pubblicazione sullo store.
Certificato
- Scaricare il certificato da Apple developer, mettilo sul mac ed segui su di esso un doppio click, in questo modo viene inserito nel portachiavi app desktop.
- Nel portachiavi, aprire con la freccetta il certificato e leggi “private key”, seleziona entrambi, chiave privata e certificato stesso ed esporta come .p12. In Visual Studio vai in Strumenti/Opzioni/Xamarin/Apple accounts, seleziona il tuo profilo e vedi i dettagli. Importa il certificato in .p12. E scarica i profili di provisioning.
ATTENZIONE: Se crei vari certificati, assicurati che in Proprietà del progetto, hai selezionato l’identità di firma corretta.
Archivia e distribuisci l’app
ATTENZIONE: Quando esegui “Archivia”, assicurati che hai impostato in alto a sinistra (“Piattaforme soluzione”), e che sia presente “iPhone” e non “iPhone simulator” o altro!
- Distribuisci / App Store (conferma su mac le pw).
A questo punto quasi sicuramente vi verrà restituito il seguente errore: La convalida bundle di App Store non è riuscita per l’archivio [nome archivio].
- Quindi distribuite ad hoc e create il .ipa.
- Sul mac scaricate “Transporter”. Caricateci sopra il vostro .ipa e distribuite da lì in modo semplice.
Conclusioni
Abbiamo visto come pubblicare un’app iOS.
La pubblicazione sull’App Store pertanto, è una procedura abbastanza lunga e complessa, ma seguendo tutti i passi non dovreste incontrare problemi.
Note: Per la guida è stato utilizzato Visual Studio Community aggiornato a Settembre 2020.