Quindi abbiamo visto come possiamo costruire e distribuire un'app con Expo nel flusso di lavoro gestito, il che è stato abbastanza conveniente.
Supponiamo ora che abbiamo un'app creata ad esempio con l'interfaccia della riga di comando nativa di React. Qui non sto usando alcun modulo nativo, ma
se lo fossi, ovviamente avrei aggiornato i miei file di configurazione Android e iOS per richiedere le
autorizzazioni giuste e così via e ho mostrato tutto ciò nel modulo non expo all'inizio del corso
.
Quindi ora diciamo che siamo felici con l'app e vogliamo pubblicarla su Apple App Store
e Google Play Store.
Ora i documenti ufficiali di React Native sono un ottimo punto di partenza con quello, lì nella documentazione
sotto le guide, trovi anche questo in esecuzione sulla guida del dispositivo dove puoi imparare come costruire la tua app per iOS o
Android sui diversi sistemi operativi che potrebbe lavorare su. Importante, puoi compilare solo per iOS su macOS
ora, Linux e Windows non funzionano perché ora non stiamo costruendo l'app nel cloud come abbiamo
fatto con expo ma localmente sul nostro computer e lì, Apple ha questa restrizione che tu può solo creare
app iOS su un Mac, è quello
che è.
Quindi ora ciò di cui hai bisogno ora è un account sviluppatore Apple, in questo momento non necessariamente un account a pagamento, basta creare l'app
tuttavia
se si desidera crearlo, per gli app store è necessario un account a pagamento come
menzionato in precedenza in questo modulo. Quindi dovresti creare un
tale account sviluppatore Apple e quindi aprire il tuo progetto qui, il tuo progetto iOS per essere precisi con Xcode.
Lì puoi fare clic su Apri un altro progetto, andare nella cartella del progetto, lì nella cartella iOS e lì selezionare
questa cartella o file dell'area di lavoro XC qui per aprire questo con Xcode.
Questo apre il tuo progetto, il tuo progetto iOS che include ovviamente il tuo codice React Native in Xcode. Ora è lì che ora configuri questa app, dove
hai impostato l'identificatore, ad esempio, è questo URL inverso di cui
stavo parlando, che potrebbe essere com. academind. rn-no expo test, qualcosa del genere, in cui hai
impostato un numero di versione che i tuoi utenti vedranno e il tuo numero di build
che può essere semplicemente un numero che incrementa qui, dove dovresti scegliere di gestire
automaticamente la firma e dove ora devi scegliere un team che dovrebbe essere mostrato qui, se non aggiungi un account e
lì, accedi con il tuo ID Apple per aggiungere il tuo account Apple Developer come account qui e
in seguito, dovresti essere in grado di scegliere il tuo team qui che sarà richiesto
automaticamente firma l'app
che verrà quindi eseguita da Apple per così dire. In generale puoi ovviamente configurare la tua app qui e prepararla per la distribuzione
e una configurazione importante è ovviamente correlata alle icone che desideri utilizzare. In expo, abbiamo impostato le icone
comodamente in una configurazione ed expo ha generato tutte le icone per noi.
Ora non funzionerà in
questo modo, ora devi impostare queste icone da solo e lo fai facendo clic su questa freccia qui
che ti porta al catalogo delle risorse e lì puoi ora fornire icone e devi fornire icone in
diverse dimensioni qui, come puoi dire.
Ora, ovviamente, questa era una cosa conveniente per expo, ha
creato queste icone per te e non hai dovuto creare manualmente tutte queste icone. In allegato comunque
trovi un'icona. file zip che include icone che
puoi trascinare e rilasciare qui, quindi è quello che farò ora e le icone sono etichettate in modo tale
che dovrebbe essere chiaro cosa devi trascinare dove e con quello, hai le icone configurate.
Potresti anche voler configurare la schermata di avvio, per questo puoi espandere questa cartella
e lì troverai questo file zip della schermata di avvio. Questo alla fine ti consente di personalizzare la tua schermata
di avvio, lì puoi aggiungere nuovi widget, trascinarci le immagini, cambiare il testo, vedi qui per esempio e
configurare la schermata di avvio in generale. Puoi saperne di più su questo nei documenti Xcode
ovviamente e una volta configurato tutto ciò, puoi costruire la tua app qui. Per questo, ad esempio, puoi anche testarlo prima su un simulatore
scegliendo una versione del simulatore, quindi facendo clic sul pulsante di riproduzione qui e questo ora
costruirà la tua app ed eseguirà su un simulatore e, successivamente, ovviamente, possiamo anche costruirla per distribuzione.
Vediamo solo se ora tutto funziona, avvia questo processo bundler che hai già visto in precedenza per
questa app standalone perché ovviamente fa ancora parte dell'esperienza di sviluppo qui.
Dopo tutto, è ancora un'app React Native che usi per creare questa app nativa e ora questa è riuscita e avvia
l'app su un simulatore.
Ora non sono troppo interessato all'app lì perché ho solo un'app molto semplice che non
fa nulla di eccezionale ma questo dimostra che la costruzione funziona.
Ora nei documenti ufficiali se scorri ancora più in basso in questa sezione in esecuzione sul
dispositivo, impari anche come creare la tua
app per la produzione se è un'app non expo e lì, ora abbiamo due cose importanti da fare.
La prima cosa importante è che nella vista del nostro progetto qui, facendo clic su questa cartella e
quindi su questa icona qui, si espande questa cartella e si passa alle informazioni. plist e ora lì, troverai questa chiave delle impostazioni di
sicurezza del trasporto app.
Questo tipo di controllo controlla il modo in cui iOS controlla a quali pagine Web o server Web può comunicare
la tua app e, per impostazione predefinita, consente l'accesso solo ai server https, quindi ai server sicuri SSL.
È un buon valore predefinito ma potresti avere alcune eccezioni
che puoi aggiungere qui e un'eccezione nell'elenco dei domini di eccezione è localhost.
Ora è necessario per lo sviluppo perché la tua app React Native alla fine parla con questo server
di sviluppo qui che viene eseguito sul tuo
host locale che non utilizza SSL. Normalmente iOS lo bloccherebbe, ora
per non bloccarlo, questo è nell'elenco delle eccezioni. Per costruirlo per la produzione, dovresti rimuoverlo, puoi semplicemente
cancellare questa chiave
qui rimuovendola con la chiave di eliminazione e il gioco è fatto. Questa è una cosa da configurare per la
distribuzione e quindi è necessario configurare tale schema di rilascio. Per questo, dovresti andare allo schema
del prodotto, modificare lo schema e impostarlo dal debug al rilascio qui per l'esecuzione e quindi chiudere questo.
Con ciò, ora puoi eseguire la creazione del prodotto qui per creare la tua app e ora
questo è costruito per il rilascio, costruito per la produzione, quindi è ottimizzato e così via.
Quindi questo crea la tua app ora per la produzione.
Ora, mentre questa build
viene eseguita, assicuriamoci di poterlo caricare anche sull'App Store di Apple
e per questo, dovresti andare sul tuo account Apple Developer e qui ora hai sicuramente bisogno di un account a pagamento
e lì, ora devi impostare un un paio di cose. Devi andare a certificati, ID e profili qui
e andare a identificatori e quindi qui aggiungere un
nuovo ID app, solo questo qui, la prima impostazione, aggiungere un ID
app e devi aggiungere l'ID app che è impostato nel tuo progetto, quindi l'ID app, l'identificatore del
bundle che trovi qui, l'identificatore esatto deve essere aggiunto qui. Puoi aggiungere una descrizione, rn-demo, qualunque
cosa tu voglia, ma poi qui devi aggiungere questo ID. Ora puoi controllare tutte le funzionalità speciali richieste dalla tua app
che non hanno la mia app, quindi non
ho bisogno di controllare nulla lì e quindi posso continuare, confermare e registrarmi.
Ora è
necessario, altrimenti non sarai in grado di pubblicare la tua app.
Ora con quell'ID registrato, devi andare su iTunes Connect e puoi semplicemente google per
quello che è alla fine il servizio in cui crei quella pagina
dello store e dove ora devi configurare la tua app. Lì puoi andare alle mie app e aggiungere una nuova app qui facendo clic sulla plus
nuova app qui, dal modo in cui vedi anche l'app che abbiamo creato con expo, quindi fai clic su nuova app qui, iOS, dagli un nome come RNNoExpo quale
di ovviamente è un bel nome che
non vorresti davvero usare, ma qui ci fa bene, quindi
scegli la lingua per cui stai costruendo la tua app, scegli l'ID del bundle e lì, scegli l'ID che hai appena impostato,
se è non si
fa ancora vedere, torna un paio di minuti dopo sarà lì. Puoi anche aggiungere il tuo identificativo personalizzato
che verrà visualizzato nelle tue fatture in sostanza e così via, RNNoExpo, qualunque cosa tu voglia
e fai clic su Crea e questo ora crea l'app qui in iTunes Connect.
Qui è anche possibile gestire l'app per l'App Store e configurarla, impostarne i prezzi e
così via.
Ora, con tutto ciò fatto, aspettiamo che la nostra build finisca qui e se non è riuscito come ha fatto per
me, la ragione è che devi impostarlo su un dispositivo iOS generico, quindi assicurati di avere questo set.
Assicurati anche di aggiungere a questo test RNWithoutExpo, seleziona il tuo team di sviluppo, è un altro
errore che ho ricevuto qui.
Se continui a ricevere un errore come me, premi il comando 1 qui in Xcode, fai clic su crea impostazioni qui con tutte
queste cose selezionate come le vedi
qui, nella sezione dei collegamenti che troverai se scorri un po 'verso il basso e in quella
parte di stripping del codice qui, in fase di rilascio, imposta da sì a no.
Questa è una soluzione alternativa a questo errore che sembra essere correlato ai test automatici che sono stati
impostati e una volta che lo hai fatto, riprova, esegui la build ancora una volta e ora dovrebbe avere successo. Una volta completata questa build, puoi tornare
al prodotto e ora l'opzione di archiviazione è disponibile.
Se ora esegui questo, questo archivia la tua app che non è altro che la creazione di quel bundle
precedentemente creato sui server cloud di expo, quindi
aspettiamo che questo finisca.
Una volta fatto
questo, dovresti vedere il tuo archivio o archivi se sei nel processo più di una volta qui e ora
qui potresti distribuire la tua app su App Store con le configurazioni fatte su iTunes Connect e così
via che ho mostrato in precedenza.
Ora non lo farò qui, ma è così che distribuiresti la tua unica app React Native senza la gestione dell'expo.