Compatibile con Xcode 8

Come pubblicare un’applicazione su App Store

ENTRA NEL NOSTRO GRUPPO FACEBOOK

Dopo tanto lavoro, finalmente la tua creatu… applicazione è pronta a vedere la luce. Non vedi l’ora di vederla installata negli iPhone e iPad dei tuoi amici. Già sogni di vederla scalare le classifiche dell’App Store. Fortunatamente sognare è gratis ;)

Prima di goderti il meritato frutto di tante notti insonni passate davanti ad Xcode è necessario superare un ultimo scoglio. Dopo aver finito di creare la tua prima applicazione arriva il fatidico momento della pubblicazione sull’App Store.

Quindi la domanda da cui partiremo è: Come pubblicare un’applicazione su App Store?

Pubblicare un’applicazione sull’App Store non è un processo impossibile. Anzi negli ultimi anni hanno sistemato e semplificato il processo e gli step da eseguire. Comunque ci sono diversi aspetti da rispettare e parecchie informazioni da tenere presenti.

Cominciamo a vedere quali.

Per cominciare

Regola fondamentale: la tua app deve essere sviluppata dall’ultima release di Xcode, e non da una beta version. Allo stesso modo anche la versione di macOS su cui è installato Xcode deve essere quello ufficiale. Fanno eccezione le GM, ma in generale il consiglio, se stai per pubblicare un’app, è di utilizzare solo la versione pubblica (per capirci, quella presente sull’App Store del macOS).

Quindi assicurati d’avere la versione corretta di macOS e di Xcode (se non lo avessi fatto, provvedi immediatamente, e subito dopo prova a far girare l’app e correggi eventuali incongruenze). Anche iOS deve essere final sul device che userai per testare la app.

Fatto? Bene! Il prossimo passo è preparare la tua app.

Innanzitutto, clicca sul progetto (nel nostro esempio AgeCalc), da qui nel tab General, puoi modificare il Display Name. Dovrai definire la Versione e la Build:

View Progetto Xcode

Dovresti avere già selezionato il target iOS della tua app, è importante perché in molti casi cambia le regole di sintassi della tua app; in ogni caso sei sempre in tempo per modificare questa impostazione.

Allo stesso modo puoi selezionare i devices in grado di eseguire la tua app: iPhone, iPad o entrambi (Universal). Ancora, in questa schermata puoi controllare l’orientamento dell’applicazione, la possibilità di ruotare nei diversi sensi (portrait, landscape…)

Sono tante altre le impostazioni che controlli da questa schermata, ma non è su queste che voglio concentrarmi stasera, mi aspetto che tu abbia già lavorato su queste durante lo sviluppo della tua app.

Se alcune cose ti cominciano a suonare come nuove, forse è il caso di dare uno sguardo ai nostri corsi ed in particolare al corso di sviluppo applicazioni iOS.

Icona Applicazione

Hai creato l’icona per la tua app?

Non sottovalutare quest’aspetto. L’icona (insieme al nome) è la prima cosa che i tuoi potenziali utenti noteranno. Se non piace, ti sei giocato una grossa chance, quindi prenditi tutto il tempo per curarla.

Crea la tua icona di forma quadrata, almeno 1024×1024 (richiesta da iTunes Connect) e senza trasparenze, ricorda che gli spigoli saranno arrotondati da Apple in fase di caricamento, quindi non impazzire su questo aspetto.

Servono 8 icone di differenti dimensioni per iPhone, 8 icone per iPad e 2 per iPad Pro.

App Icon Resizer

Se non sai come creare le icone per la tua applicazione, ma hai l’immagine vettoriale o raster, puoi utilizzare MakeAppIconQuesta web app ti invierà per email le icone che ha costruito partendo da un’immagine.

Ad ogni modo, mentre scrivo, ci stiamo dando da fare per metterti a disposizione uno strumento analogo chiamato: DevIconResizer!  Questa semplicissima app è stata creata e messa a disposizione da uno dei nostri autori: KiokoKenda, ai secoli Gianluca Alterio. Non appena sarà pubblicata, aggiorneremo i link per darti la possibilità di scaricarla direttamente da AppStore.

App Icon Set

Ad ogni modo, qualsiasi sia lo strumento da te utilizzato, su Xcode spostati nel file Assets.xcassets ed entra dentro la folder chiamata AppIcon. In questa schermata dovrai trascinare le icone dalla cartella che hai creato:

App Icon

Una volta completato questo passaggio avrai finito con i preliminari.

Ultimo suggerimento, anche questo mi aspetto tu l’abbia già fatto in fase di sviluppo, ma meglio tardi che mai: testa la tua app su dispositivi reali, su più dispositivi possibili e il più possibile. Il simulatore di Xcode è una gran cosa, soprattutto all’inizio, ma non potrà mai replicare in toto tutte le variabili di un dispositivo reale.

iTunes Connect

iTunes Connect è lo strumento che Apple ti mette a disposizione per pubblicare e gestire le tue applicazioni. Se è la prima volta che lo senti puoi entrarci da qui: iTunes Connect.

É diviso in 7 sezioni: noi oggi analizzeremo solo la prima, ma in futuro dovrai dare uno sguardo anche alle altre:

iTunes Connect

Per pubblicare un’applicazione, dovrai utilizzare la sezione “Le mie app”Qui potrai visualizzare le tue applicazioni, pubblicate o in pubblicazione, e modificarne le impostazioni.

Apri la sezione Le mie app. Puoi aggiungere nuove Applicazioni da pubblicare, premendo sul pulsante + in alto a sinistra.

Comparirà una finestra con 3 scelte possibili: Nuova app, nuova app Mac e Nuovo pacchetto app. A noi al momento interessa Nuova app, stiamo pubblicando una app per iOS:

come-pubblicare-unapplicazione-su-app-store

Nella finestra successiva possiamo scegliere la piattaforma, possiamo scegliere tra iOS e tvOS (selezioniamo al momento solo la prima, se poi vorremo in futuro duplicare la nostra app anche per tvOS potremo farlo liberamente).

itunes-connect-pubblicare-la-prima-app

I parametri

Nome. Scegli liberamente il nome. Non è necessario che sia uguale al nome dell’app su xCode, per cui scegli il nome più appetibile possibile, perché sarà quello che i tuoi potenziali utenti vedranno quando entreranno in App Store.

Tieni solo conto che Apple mette un limite di 50 caratteri, ma in ogni caso è assolutamente preferibile stare (molto) al di sotto di questo limite: attualmente Apple consiglia caldamente di rispettare il limite di 25 caratteri.

La lingua primaria è la lingua di default dell’applicazione. Puoi impostare diverse lingue per la tua app ma, se un tuo utente ha sul suo device una lingua che tu non hai previsto, la lingua primaria sarà quella che quest’utente visualizzerà.

Ovviamente il suggerimento, se stai prevedendo di pubblicare l’app in diversi territori (ci arriviamo tra poco) è di utilizzare l’inglese come lingua primaria. Se invece hai un solo territorio (in questo caso per noi l’Italia) puoi serenamente impostare la lingua di quel territorio. Se sei interessato a tradurre la tua app in diverse lingue, puoi consultare questo tutorial.

L’ID pacchetto deve necessariamente corrispondere al Bundle Identifier che hai impostato su Xcode (Sezione Progetto, tab General), una volta che hai pubblicato la tua prima versione dell’app non potrà più cambiare. Non preoccuparti comunque, perché è un’informazione che non compare da nessuna parte, serve solo per associare la tua app di iTunes Connect al codice che invieremo tra poco.

Lo SKU (Stock-keeping Unit) è un altro codice univoco di stoccaggio/inventario, che resta scritto all’interno dell’App Store. Non ha uno scopo ai sensi della visibilità. Personalmente imposto sempre lo stesso identico valore del Bundle Identifier, anche questo deve esser un valore univoco, per cui possono serenamente assumere lo stesso valore. Lo SKU è anche visualizzato nei report che ti manda Apple riguardo i pagamenti delle app, per cui impostalo in modo tale da poter capire al volo, nel report quali sono i guadagni che ogni app ti procura. La scelta è solo tua!

A questo punto clicca su Crea, et voilà, la tua app è stata creata in iTunes Connect. Beh, quasi, per ora abbiamo un involucro vuoto da riempire!

App Store: crea la tua app in iTunesConnect

Qui potrai vedere riassunti i valori che hai impostato poco fa. Alcuni, come per esempio il nome, possono essere modificati, altri (la lingua primaria) no.

Privacy

Apple ha una politica particolarmente rigida per le norme sulla privacy, se la tua è una app per bambini, oppure se in qualsiasi modo andrai a salvare/catalogare dati sensibili (anche solo se nella tua app andrai ad accedere ad informazioni sull’utente e il suo device) avere un disclaimer sulla privacy sarà obbligatorio.

Apple consiglia di possedere un proprio disclaimer. Fortunatamente anche in questo caso vengono in nostro soccorso i servizi online.

Personalmente utilizzo molto Iubenda.com. Configurarlo è semplice, basta selezionare tutti i servizi di cui necessiti, in funzione della profilazione della tua app.

La prima policy è gratuita, se poi te ne serviranno di più, sarà necessario pagare. É vero che non costa pochissimo, ma ti assicuro che il beneficio in copertura legale vale assolutamente la candela. Avrai la serenità di avere una privacy policy sempre aggiornata e in linea con le leggi di ogni Paese in cui sei presente.

Una volta terminata la configurazione, iubenda.com ti esporta un link con la privacy policy per la tua app. Copiala nell’apposito campo in iTunes Connect, e da questo momento puoi stare sereno.

Chiaramente, non è obbligatorio servirsi di questi servizi online, puoi anche fare da te o servirti di consulenti legali. Basterà riportare su una pagina web la tua policy e inserire il link nell’apposito spazio su iTunes Connect.

Tieni conto comunque che Apple verifica la correttezza delle policy privacy, per cui se la tua policy non dovesse soddisfare i requisiti, la tua app potrebbe essere rigettata.

Categoria

Scegli con attenzione la tua categoria Primaria, perché è quella in cui sarà visualizzata la tua app nell’App Store.

L’elenco delle categorie, lo stesso dell’App Store, è grande, e non sempre è facile individuare la giusta categoria in cui inserire la propria app. Apple ha predisposto un’apposita guida per aiutare i dev.

Io posso suggerirti, in aggiunta, che può essere utile dare uno sguardo a quali app tirano di più per categoria. Trovare la categoria “giusta” in cui inserirsi può cambiare gli equilibri e farti salire in classifica nell’App Store… e, neanche a dirlo, più sei in alto in classifica più visibilità e download avrai. E’ un circolo virtuoso che si autoalimenta.

Prezzi e Disponibilità

Veniamo alla parte più “interessante” di iTunes Connect, per ogni dev.

In questa sezione puoi decidere il prezzo della tua app, seguendo le segmentazioni pre-disposte da Apple. In generale, per ora, distinguiamo tra Gratuite ed A Pagamento.

Le app a pagamento possono essere scontate per istituti scolastici ed educativi. Inoltre puoi prevedere un periodo limitato nel tempo in cui ridurre il prezzo, o rendere la tua app gratuita:

App Store: iTunes Connect prezzi e disponibilità

Questo valore può essere modificato in qualsiasi momento, puoi anche programmare una data in cui modificare il prezzo nel futuro. Questo può essere utile, nel caso volessi lanciare la tua app come servizio gratuito in promozione per un primo periodo. Una volta in alto in classifica, potrai sempre renderla a pagamento.

In questa sezione è possibile decidere quali saranno i territori dove pubblicare la tua app. Di default sono selezionati tutti, puoi sceglierne uno specifico, o anche alcuni. Se non hai impostato la lingua inglese come primaria, personalmente ti sconsiglio di pubblicarla in tutti i territori.

Screenshot

Entriamo ora nel vivo della pubblicazione. Clicca sulla scritta, 1.0 in preparazione per l’invio:

iOS in preparazione

La prima informazione che ci viene richiesta è un’anteprima dell’app. Puoi pubblicare un video, e fino a 5 screenshot, sia per iPhone che per iPad (se sono entrambi supportati). Puoi fare gli screenshot direttamente dal simulatore, premendo la combinazione CMD + S.

Rispetto al passato Apple ha fatto grandissimi passi avanti per semplificarci il lavoro. Che tu ci creda o no, fino a poco tempo fa, per ogni device supportato avresti dovuto preparare almeno uno screenshot… un lavoraccio. Oggi invece, è sufficiente trascinare un’immagine per il device piu’ grande e questa verrà automaticamente scalata per tutti i dispositivi. Eccezionale!

Una volta caricati gli screenshot (che, te lo ricordo, sono obbligatori) ed un eventuale video, passiamo ad una veloce descrizione della tua app.

Descrivi cosa fa la tua app in poche parole, descrizioni troppo lunghe fanno perdere interesse al tuo potenziale utente. Cerca con poche e brevi frasi di spiegare il meccanismo di funzionamento della tua app.

Gli ultimi dettagli

Oltre la descrizione, saranno molto utili le parole chiave: sono quelle che guidano la ricerca su App Store, per cui fai sì che siano più attinenti possibile alla tua app. Provare ad attrarre più utenti con parole accattivanti o comunque molto ricercate, può essere utile nel breve periodo, ma porterà numerose recensioni negative.

Se hai un sito internet puoi impostare un URL specifico per l’assistenza, e un URL per marketing. Dare un indirizzo su cui essere raggiungibile sarà sempre molto utile, sia per eventuali richieste/segnalazioni di bug, sia per un normale effetto pubblicità.

Prima di caricare la app vera e propria, finiamo la configurazione inserendo un’immagine che comparirà su App Store (dovrebbe essere, ma non c’è un obbligo in merito, uguale all’icona dell’app). L’immagine dovrà essere di dimensioni 1024 x 1024, con una risoluzione minima di 72 dpi. Supporta sia immagini jpeg che png.

La versione dell’app (per la prima sarà ottimo 1.0), così come il copyright, non hanno regole fondamentali, normalmente seguono le convenzioni internazionali

La classificazione

Ultima operazione, prima del caricamento vero e proprio, è la classificazione.

La classificazione dell’app avviene secondo una serie di domande sul contenuto dell’app. In funzione della risposta, l’app viene classificata come 4+, 9+, 12+, 17+.

Tieni conto che alcuni contenuti, come ad esempio violenza esplicita, o pornografia, sono assolutamente banditi dall’App Store, per cui se la tua app offre contenuti di questo tipo, ti verrà rifiutata la pubblicazione.

Barare serve a poco, forse la tua app potrebbe passare il controllo dei reviewers, ma alla prima segnalazione verrebbe ritirata, e il rischio per te potrebbe essere di vederti sospesa la licenza developer. Assolutamente da evitare, no?

App Store: iTunes Connect - classificazione

Infine, se la tua app dovesse risultare classificata come 4+, puoi eventualmente flaggare l’opzione App per bambini. Questa categoria ha un trattamento particolare all’interno dell’App Store.

Innanzitutto, come già dicevamo sopra, richiede una privacy policy specifica, obbligatoria.

C’è poi un controllo decisamente più severo, in linea con le direttive Apple. Il premio è una categorizzazione specifica, a cui non accedono tutte le app, e che ti apre un mondo di utenti. Immagina quanti genitori sono ogni giorno alla ricerca di app sicure per i propri pargoli. Ci sono poi circuiti paralleli che pubblicizzano le app a scopo didattico, offrendo opportunità di pubblicità da non sottovalutare.

Da Xcode ad iTunes Connect

Ora, l’ultimo passo, è portare la tua app su iTunes Connect.

Torna su Xcode, seleziona il Generic iOS Device, e lancia Archive dal menu di Xcode sotto la voce Product/Archive. Questo processo serve a compilare la tua app e prepara il pacchetto .ipa che dovrà essere inviato ad iTunes Connect. Volendo, lo stesso pacchetto può anche essere esportato. Tieni però conto che è un pacchetto già compilato, per cui non potrai rimetterci mano.

La finestra che apparirà al termine della compilazione mostrerà la tua app con la relativa versione. Quando avrai più versioni, o più app, le troverai tutte qui elencate (nell’immagine vedi sulla sinistra l’elenco delle mie app):

App Store: Xcode Archivia

A questo punto è sufficiente premere sul pulsante blu Upload to App Store. Ti si aprirà una nuova finestra, dove verrà fatto check della tua identità e licenza developer. Subito dopo ti verrà richiesto di confermare l’upload, con due opzioni:

  • Include app symbol…: se flaggata, l’opzione permette ad Apple di ricevere ed analizzare dei log sui crash della tua app
  • Include bitcode: il bitcode meriterebbe un articolo a parte, provo a spiegare in due parole. In fase di compilazione, la tua app subisce due processi: al termine del primo si ottiene il codice Bitcode indipendentemente dai linguaggi di programmazione usati per la scrittura del software. Nel secondo invece il codice Bitcode viene compilato per creare file eseguibili in base al processore sul quale l’app verrà utilizzata. Questo permetterà ad Apple di registrare la tua app in codice Bitcode. Successivamente, ad ogni aggiornamento hardware, Apple potrà ricompilare tutte le app archiviate in bitcode, senza richiedere il tuo intervento. In termini pratici, garantirà la compatibilità della tua app per molto tempo senza che tu debba impazzire dietro aggiornamenti software.

Una volta operate queste due scelte premi su Upload, e il magico processo di caricamento della tua app partirà. Non spaventarti se servirà moooolto tempo, il processo è notoriamente lento.

Se tutto è andato per il meglio, vedrai la tanto agognata luce verde! Upload Complete!

Review

Wow, ce l’abbiamo fatta! Aspetta pochi minuti. Ti arriverà una mitica mail che ti confermerà il caricamento. Da questo momento la tua app sarà disponibile per la pubblicazione.

Torna su iTunes Connect, ora potrai aggiungere la Build (premi il pulsante +).

App Store: iTunesConnect - Add Build

Una volta che anche la build sarà selezionata, potrai finalmente premere sul pulsante “Invia per la verifica” (in realtà ci sarebbe la possibilità, prima di mandare la app in Review, di testarla, e farla testare, utilizzando il servizio TestFlight, ma di questo parleremo in un prossimo tutorial).

Fatto? Bene! Adesso non ti resta che attendere, ti arriverà quasi immediatamente una mail che ti avviserà che la tua app è in fase “Waiting for Review“. Normalmente non passano più di 24-48 ore per la review. Ad un certo punto riceverai un’altra mail, con un contenuto analogo a questo.

A questo punto manca pochissimo, al massimo qualche ora, per avere il responso. Se tutto è andato per il meglio, riceverai un’ultima mail che ti confermerà che la App è Ready.

Esatto! Questo significa che sei pronto per vedere la tua app in App Store, e iniziare a goderti il frutto del tuo lavoro.

E se invece qualcosa è andato storto? Beh… riceverai un’altra mail, da parte di Apple, che ti avviserà che la tua app è stata rifiutata, ci sarà un link a cui accedere per leggere i motivi: in alcuni fortunati casi la Review è solamente sospesa perché le modifiche richieste sono poche e non coinvolgono la build ma semplicemente i contenuti su iTunes Connect, o perché il reviewer non ha chiare alcune cose.

Nel malaugurato caso in cui invece l’app sia stata effettivamente rigettata, preparati a rimettere mano a Xcode. Ma questa, è un’altra storia.

Conclusione

Finalmente sei giunto al termine. L’ultima cosa che ti lascio è il link dell’App Store per scaricare l’applicazione che ho usato come esempio. Non è niente di che, non è sicuramente un’app realizzata per una diffusione capillare, ma ho deciso di pubblicarla per mostrarti tutti i passaggi necessari.

In futuro la utilizzerò di nuovo, per mostrarti gli aggiornamenti di un’app, per conoscere TestFlight… E, se sarà possibile, la implementeremo con nuove funzionalità che condivideremo in futuro.

Perciò se ti fa piacere, scaricala!

Grazie!

Changelog

  • 2/11/2016 – Aggiunto il changelog.

  • Dario Carnesecchi

    Bellissimo tutorial Vittò! :) Molto dettagliato! Complimenti! Ora mi è tutto molto più chiaro, prima di leggere questo tutorial pensavo alla pubblicazione come ad un processo lungo e labirintico, grazie invece a questo tutorial ho visto che in realtà è qualcosa di mooolto semplice :)

    • Ciao Dario!
      Ti ringrazio moltissimo, però il tutorial è di Gianvittorio :P

      Alla prossima e buona programmazione,
      Giuseppe Sapienza | xCoding.it

      • Dario Carnesecchi

        ahahahahah infatti me ne sono accorto subito dopo aver pubblicato il commento e ho corretto immediatamente, ancor prima che mi rispondessi ! :D Ma a Vittorio arrivano le notifiche di commenti agli articoli che ha pubblicato? :)

Start typing and press Enter to search

generics con il linguaggio swiftCome creare un account da sviluppatore Apple