1 00:00:02,450 --> 00:00:09,560 Quindi abbiamo visto come possiamo costruire e distribuire un'app con Expo nel flusso di lavoro gestito, il che è stato abbastanza conveniente. 2 00:00:09,560 --> 00:00:15,770 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 3 00:00:15,770 --> 00:00:21,650 se lo fossi, ovviamente avrei aggiornato i miei file di configurazione Android e iOS per richiedere le 4 00:00:21,650 --> 00:00:27,410 autorizzazioni giuste e così via e ho mostrato tutto ciò nel modulo non expo all'inizio del corso 5 00:00:27,410 --> 00:00:27,830 . 6 00:00:28,130 --> 00:00:32,870 Quindi ora diciamo che siamo felici con l'app e vogliamo pubblicarla su Apple App Store 7 00:00:32,870 --> 00:00:34,190 e Google Play Store. 8 00:00:34,190 --> 00:00:38,900 Ora i documenti ufficiali di React Native sono un ottimo punto di partenza con quello, lì nella documentazione 9 00:00:38,930 --> 00:00:44,660 sotto le guide, trovi anche questo in esecuzione sulla guida del dispositivo dove puoi imparare come costruire la tua app per iOS o 10 00:00:45,050 --> 00:00:50,000 Android sui diversi sistemi operativi che potrebbe lavorare su. Importante, puoi compilare solo per iOS su macOS 11 00:00:50,000 --> 00:00:55,190 ora, Linux e Windows non funzionano perché ora non stiamo costruendo l'app nel cloud come abbiamo 12 00:00:55,190 --> 00:01:01,250 fatto con expo ma localmente sul nostro computer e lì, Apple ha questa restrizione che tu può solo creare 13 00:01:01,460 --> 00:01:03,730 app iOS su un Mac, è quello 14 00:01:03,740 --> 00:01:04,580 che è. 15 00:01:05,510 --> 00:01:12,820 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 16 00:01:12,820 --> 00:01:13,480 tuttavia 17 00:01:13,480 --> 00:01:17,590 se si desidera crearlo, per gli app store è necessario un account a pagamento come 18 00:01:17,590 --> 00:01:20,950 menzionato in precedenza in questo modulo. Quindi dovresti creare un 19 00:01:20,950 --> 00:01:27,550 tale account sviluppatore Apple e quindi aprire il tuo progetto qui, il tuo progetto iOS per essere precisi con Xcode. 20 00:01:28,330 --> 00:01:35,980 Lì puoi fare clic su Apri un altro progetto, andare nella cartella del progetto, lì nella cartella iOS e lì selezionare 21 00:01:35,980 --> 00:01:41,560 questa cartella o file dell'area di lavoro XC qui per aprire questo con Xcode. 22 00:01:41,620 --> 00:01:48,940 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 23 00:01:48,990 --> 00:01:53,810 hai impostato l'identificatore, ad esempio, è questo URL inverso di cui 24 00:01:53,870 --> 00:02:02,910 stavo parlando, che potrebbe essere com. academind. rn-no expo test, qualcosa del genere, in cui hai 25 00:02:02,910 --> 00:02:08,330 impostato un numero di versione che i tuoi utenti vedranno e il tuo numero di build 26 00:02:08,330 --> 00:02:13,280 che può essere semplicemente un numero che incrementa qui, dove dovresti scegliere di gestire 27 00:02:13,280 --> 00:02:20,320 automaticamente la firma e dove ora devi scegliere un team che dovrebbe essere mostrato qui, se non aggiungi un account e 28 00:02:20,320 --> 00:02:26,350 lì, accedi con il tuo ID Apple per aggiungere il tuo account Apple Developer come account qui e 29 00:02:26,350 --> 00:02:31,360 in seguito, dovresti essere in grado di scegliere il tuo team qui che sarà richiesto 30 00:02:31,360 --> 00:02:32,830 automaticamente firma l'app 31 00:02:32,830 --> 00:02:38,970 che verrà quindi eseguita da Apple per così dire. In generale puoi ovviamente configurare la tua app qui e prepararla per la distribuzione 32 00:02:39,010 --> 00:02:44,640 e una configurazione importante è ovviamente correlata alle icone che desideri utilizzare. In expo, abbiamo impostato le icone 33 00:02:44,650 --> 00:02:50,430 comodamente in una configurazione ed expo ha generato tutte le icone per noi. 34 00:02:50,470 --> 00:02:52,410 Ora non funzionerà in 35 00:02:52,480 --> 00:02:59,650 questo modo, ora devi impostare queste icone da solo e lo fai facendo clic su questa freccia qui 36 00:02:59,650 --> 00:03:06,570 che ti porta al catalogo delle risorse e lì puoi ora fornire icone e devi fornire icone in 37 00:03:06,570 --> 00:03:09,050 diverse dimensioni qui, come puoi dire. 38 00:03:09,270 --> 00:03:11,610 Ora, ovviamente, questa era una cosa conveniente per expo, ha 39 00:03:11,610 --> 00:03:17,690 creato queste icone per te e non hai dovuto creare manualmente tutte queste icone. In allegato comunque 40 00:03:17,690 --> 00:03:22,550 trovi un'icona. file zip che include icone che 41 00:03:22,550 --> 00:03:29,740 puoi trascinare e rilasciare qui, quindi è quello che farò ora e le icone sono etichettate in modo tale 42 00:03:29,740 --> 00:03:35,560 che dovrebbe essere chiaro cosa devi trascinare dove e con quello, hai le icone configurate. 43 00:03:35,750 --> 00:03:40,790 Potresti anche voler configurare la schermata di avvio, per questo puoi espandere questa cartella 44 00:03:40,790 --> 00:03:48,610 e lì troverai questo file zip della schermata di avvio. Questo alla fine ti consente di personalizzare la tua schermata 45 00:03:48,610 --> 00:03:55,660 di avvio, lì puoi aggiungere nuovi widget, trascinarci le immagini, cambiare il testo, vedi qui per esempio e 46 00:03:55,660 --> 00:04:01,920 configurare la schermata di avvio in generale. Puoi saperne di più su questo nei documenti Xcode 47 00:04:01,920 --> 00:04:09,700 ovviamente e una volta configurato tutto ciò, puoi costruire la tua app qui. Per questo, ad esempio, puoi anche testarlo prima su un simulatore 48 00:04:09,700 --> 00:04:14,710 scegliendo una versione del simulatore, quindi facendo clic sul pulsante di riproduzione qui e questo ora 49 00:04:14,710 --> 00:04:19,920 costruirà la tua app ed eseguirà su un simulatore e, successivamente, ovviamente, possiamo anche costruirla per distribuzione. 50 00:04:19,930 --> 00:04:27,840 Vediamo solo se ora tutto funziona, avvia questo processo bundler che hai già visto in precedenza per 51 00:04:27,850 --> 00:04:33,630 questa app standalone perché ovviamente fa ancora parte dell'esperienza di sviluppo qui. 52 00:04:33,700 --> 00:04:42,070 Dopo tutto, è ancora un'app React Native che usi per creare questa app nativa e ora questa è riuscita e avvia 53 00:04:42,100 --> 00:04:44,140 l'app su un simulatore. 54 00:04:44,140 --> 00:04:49,270 Ora non sono troppo interessato all'app lì perché ho solo un'app molto semplice che non 55 00:04:49,270 --> 00:04:53,370 fa nulla di eccezionale ma questo dimostra che la costruzione funziona. 56 00:04:53,480 --> 00:04:57,970 Ora nei documenti ufficiali se scorri ancora più in basso in questa sezione in esecuzione sul 57 00:04:57,970 --> 00:05:00,030 dispositivo, impari anche come creare la tua 58 00:05:00,520 --> 00:05:05,510 app per la produzione se è un'app non expo e lì, ora abbiamo due cose importanti da fare. 59 00:05:05,530 --> 00:05:10,900 La prima cosa importante è che nella vista del nostro progetto qui, facendo clic su questa cartella e 60 00:05:10,900 --> 00:05:20,290 quindi su questa icona qui, si espande questa cartella e si passa alle informazioni. plist e ora lì, troverai questa chiave delle impostazioni di 61 00:05:20,290 --> 00:05:22,820 sicurezza del trasporto app. 62 00:05:22,870 --> 00:05:29,470 Questo tipo di controllo controlla il modo in cui iOS controlla a quali pagine Web o server Web può comunicare 63 00:05:29,470 --> 00:05:35,470 la tua app e, per impostazione predefinita, consente l'accesso solo ai server https, quindi ai server sicuri SSL. 64 00:05:35,470 --> 00:05:39,270 È un buon valore predefinito ma potresti avere alcune eccezioni 65 00:05:39,370 --> 00:05:44,120 che puoi aggiungere qui e un'eccezione nell'elenco dei domini di eccezione è localhost. 66 00:05:44,180 --> 00:05:49,450 Ora è necessario per lo sviluppo perché la tua app React Native alla fine parla con questo server 67 00:05:49,450 --> 00:05:51,680 di sviluppo qui che viene eseguito sul tuo 68 00:05:51,820 --> 00:05:55,820 host locale che non utilizza SSL. Normalmente iOS lo bloccherebbe, ora 69 00:05:55,900 --> 00:06:01,000 per non bloccarlo, questo è nell'elenco delle eccezioni. Per costruirlo per la produzione, dovresti rimuoverlo, puoi semplicemente 70 00:06:01,060 --> 00:06:02,080 cancellare questa chiave 71 00:06:02,080 --> 00:06:08,230 qui rimuovendola con la chiave di eliminazione e il gioco è fatto. Questa è una cosa da configurare per la 72 00:06:08,230 --> 00:06:15,630 distribuzione e quindi è necessario configurare tale schema di rilascio. Per questo, dovresti andare allo schema 73 00:06:15,640 --> 00:06:24,700 del prodotto, modificare lo schema e impostarlo dal debug al rilascio qui per l'esecuzione e quindi chiudere questo. 74 00:06:25,760 --> 00:06:30,470 Con ciò, ora puoi eseguire la creazione del prodotto qui per creare la tua app e ora 75 00:06:30,470 --> 00:06:35,090 questo è costruito per il rilascio, costruito per la produzione, quindi è ottimizzato e così via. 76 00:06:35,090 --> 00:06:37,530 Quindi questo crea la tua app ora per la produzione. 77 00:06:38,720 --> 00:06:39,980 Ora, mentre questa build 78 00:06:39,980 --> 00:06:42,940 viene eseguita, assicuriamoci di poterlo caricare anche sull'App Store di Apple 79 00:06:42,950 --> 00:06:48,590 e per questo, dovresti andare sul tuo account Apple Developer e qui ora hai sicuramente bisogno di un account a pagamento 80 00:06:49,550 --> 00:06:55,250 e lì, ora devi impostare un un paio di cose. Devi andare a certificati, ID e profili qui 81 00:06:55,250 --> 00:06:58,370 e andare a identificatori e quindi qui aggiungere un 82 00:06:58,370 --> 00:07:02,140 nuovo ID app, solo questo qui, la prima impostazione, aggiungere un ID 83 00:07:02,150 --> 00:07:07,690 app e devi aggiungere l'ID app che è impostato nel tuo progetto, quindi l'ID app, l'identificatore del 84 00:07:07,700 --> 00:07:14,240 bundle che trovi qui, l'identificatore esatto deve essere aggiunto qui. Puoi aggiungere una descrizione, rn-demo, qualunque 85 00:07:14,240 --> 00:07:22,840 cosa tu voglia, ma poi qui devi aggiungere questo ID. Ora puoi controllare tutte le funzionalità speciali richieste dalla tua app 86 00:07:22,870 --> 00:07:26,410 che non hanno la mia app, quindi non 87 00:07:26,410 --> 00:07:31,740 ho bisogno di controllare nulla lì e quindi posso continuare, confermare e registrarmi. 88 00:07:31,750 --> 00:07:32,680 Ora è 89 00:07:32,680 --> 00:07:36,010 necessario, altrimenti non sarai in grado di pubblicare la tua app. 90 00:07:36,040 --> 00:07:42,510 Ora con quell'ID registrato, devi andare su iTunes Connect e puoi semplicemente google per 91 00:07:42,510 --> 00:07:48,090 quello che è alla fine il servizio in cui crei quella pagina 92 00:07:48,090 --> 00:07:57,710 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 93 00:07:57,710 --> 00:08:06,010 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 94 00:08:06,160 --> 00:08:08,070 di ovviamente è un bel nome che 95 00:08:08,140 --> 00:08:11,110 non vorresti davvero usare, ma qui ci fa bene, quindi 96 00:08:11,260 --> 00:08:17,600 scegli la lingua per cui stai costruendo la tua app, scegli l'ID del bundle e lì, scegli l'ID che hai appena impostato, 97 00:08:17,620 --> 00:08:19,210 se è non si 98 00:08:19,360 --> 00:08:26,060 fa ancora vedere, torna un paio di minuti dopo sarà lì. Puoi anche aggiungere il tuo identificativo personalizzato 99 00:08:26,060 --> 00:08:32,750 che verrà visualizzato nelle tue fatture in sostanza e così via, RNNoExpo, qualunque cosa tu voglia 100 00:08:32,750 --> 00:08:39,170 e fai clic su Crea e questo ora crea l'app qui in iTunes Connect. 101 00:08:39,260 --> 00:08:44,750 Qui è anche possibile gestire l'app per l'App Store e configurarla, impostarne i prezzi e 102 00:08:44,750 --> 00:08:45,910 così via. 103 00:08:45,980 --> 00:08:52,870 Ora, con tutto ciò fatto, aspettiamo che la nostra build finisca qui e se non è riuscito come ha fatto per 104 00:08:52,870 --> 00:08:59,220 me, la ragione è che devi impostarlo su un dispositivo iOS generico, quindi assicurati di avere questo set. 105 00:08:59,220 --> 00:09:03,810 Assicurati anche di aggiungere a questo test RNWithoutExpo, seleziona il tuo team di sviluppo, è un altro 106 00:09:03,810 --> 00:09:05,170 errore che ho ricevuto qui. 107 00:09:06,150 --> 00:09:14,510 Se continui a ricevere un errore come me, premi il comando 1 qui in Xcode, fai clic su crea impostazioni qui con tutte 108 00:09:14,600 --> 00:09:17,020 queste cose selezionate come le vedi 109 00:09:19,930 --> 00:09:26,170 qui, nella sezione dei collegamenti che troverai se scorri un po 'verso il basso e in quella 110 00:09:26,180 --> 00:09:32,180 parte di stripping del codice qui, in fase di rilascio, imposta da sì a no. 111 00:09:32,200 --> 00:09:36,280 Questa è una soluzione alternativa a questo errore che sembra essere correlato ai test automatici che sono stati 112 00:09:36,280 --> 00:09:45,020 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 113 00:09:45,020 --> 00:09:49,760 al prodotto e ora l'opzione di archiviazione è disponibile. 114 00:09:49,850 --> 00:09:56,570 Se ora esegui questo, questo archivia la tua app che non è altro che la creazione di quel bundle 115 00:09:56,570 --> 00:09:59,490 precedentemente creato sui server cloud di expo, quindi 116 00:09:59,810 --> 00:10:01,340 aspettiamo che questo finisca. 117 00:10:02,490 --> 00:10:03,430 Una volta fatto 118 00:10:03,430 --> 00:10:08,620 questo, dovresti vedere il tuo archivio o archivi se sei nel processo più di una volta qui e ora 119 00:10:08,620 --> 00:10:13,660 qui potresti distribuire la tua app su App Store con le configurazioni fatte su iTunes Connect e così 120 00:10:13,660 --> 00:10:15,310 via che ho mostrato in precedenza. 121 00:10:15,360 --> 00:10:20,890 Ora non lo farò qui, ma è così che distribuiresti la tua unica app React Native senza la gestione dell'expo.