Podczas budowania dla sklepów z aplikacjami interfejs expo CLI, więc
to, co wpisujemy tutaj w wierszu polecenia, może ci pomóc lub może ci pomóc,
ale może być konieczne dostosowanie konfiguracji w aplikacji. plik json w zależności od funkcji używanych przez aplikację.
Nasza aplikacja używa więc kilku rodzimych modułów, wszystkie te moduły muszą żądać uprawnień, a my robimy
to za pomocą interfejsu API uprawnień, jak na przykład w selektorze obrazów, gdy pytamy o uprawnienia, ale
na przykład w przypadku Androida musisz podać listę uprawnień, których potrzebuje Twoja aplikacja, w
pliku konfiguracyjnym, który masz, gdy używasz React Native, ale którego nie masz, gdy używasz expo, ponieważ expo zapewnia
to opakowanie i robi to wszystko dla ciebie w expo kliencie, ale teraz nie planujemy już
używać klienta expo i chociaż będzie to
uwzględniać w twojej niezależnej aplikacji, jak już wspomniałem, musisz teraz powiedzieć expo, które uprawnienia
powinien tam poprosić.
Ponadto, na przykład, jeśli korzystasz z Google Maps, musisz również podać swój klucz API Map Google, a tym samym nie
mam na myśli, ponieważ robimy to tutaj, którego używamy w niektórych częściach naszego kodu JavaScript, ale
w celu użyj pakietu map React Native.
Ponownie aplikacja kliencka expo zasadniczo używa własnego klucza do programowania i tak dalej, ale gdy tylko planujesz
zaoferować samodzielną aplikację, musisz przynieść własne klucze, aby opakowanie expo, które zostanie dołączone do twojej
autonomicznej aplikacji, użyje twojego klucz, ponieważ zespół wystawców
nie da ci klucza, który do tego należy do Ciebie.
Ponownie, oficjalnymi dokumentami są twoi przyjaciele, tam możesz dowiedzieć
się, co możesz skonfigurować w aplikacji. plik json i
zacznijmy od Androida, ponieważ tam musisz skonfigurować nieco więcej, zanim przejdziemy do tego,
co jest specyficzne w iOS.
W przypadku systemu Android oprócz ikony itd. Można skonfigurować uprawnienia. Rzecz w tym, że możesz po prostu
pominąć klucz uprawnień. W takim przypadku, jak widać tutaj, expo skonfiguruje aplikację
tak, aby żądała wszystkich uprawnień.
Teraz nie polecam tego robić, ponieważ ludzie będą patrzeć na twoją aplikację w App Store, a
jeśli zobaczą, że twoja podstawowa aplikacja do zarządzania miejscami chce zezwolić na czytanie swoich kontaktów lub wykonywanie połączeń, cóż, nie wiem
o tobie, ale nie chciałbym pobierz taką aplikację.
Tak więc zalecam, abyś był konkretny w zakresie uprawnień wymaganych przez twoją aplikację
i robisz to, przechodząc do aplikacji. plik json i tam w węźle Androida dodajesz
klucz uprawnień, a teraz dodajesz uprawnienia.
Teraz zawsze będą wymagane niektóre uprawnienia podstawowe, a znajdziesz je tutaj, na przykład uprawnienia do pobierania
danych z Internetu itd., Ale teraz możesz na przykład dodać uprawnienia do korzystania z lokalizacji użytkownika
i dostępu do kamery, ponieważ to coś, co zrobimy robić.
Dodajmy więc te klucze tutaj do takich uprawnień, do ciągów znaków z podwójnymi cudzysłowami, co jest ważne
w tym pliku,
dodanym do tablicy uprawnień.
Teraz będziemy również potrzebować uprawnienia do zapisu na zewnętrzną pamięć masową, aby zapisać nasz obraz, dlatego też powinniśmy to dodać i dzięki
temu
powinniśmy być dobrzy dla tej aplikacji, ale oczywiście w zależności od
budowanej aplikacji, dokładnie sprawdź, jakie uprawnienia ma twoja
aplikacja będziesz potrzebować, zawsze możesz przejrzeć strony dokumentacji natywnych pakietów modułów, których zwykle używasz,
tam zwykle powinieneś znaleźć opis
uprawnień, których ten pakiet potrzebuje. Więc uprawnienia to
jedno, dodatkowo, jeśli korzystasz z Map Google, powinieneś dodać węzeł
Mapy Google do konfiguracji Androida.
Tak więc tutaj, po uzyskaniu uprawnień, możemy dodać takie mapy Google, które również przechowują obiekt jako wartość iw tym
obiekcie konfigurujesz klucz API.
Znowu nie było to potrzebne dla klienta expo, gdy publikujemy aplikację na tej stronie expo i korzystaliśmy z aplikacji
klienta expo, ponieważ tam zespół expo zasadniczo daje ci swój własny klucz Google Maps, ale
jeśli tworzysz samodzielną aplikację, musisz podać swój własny.
Aby to zrobić, upewnij się, że używasz tutaj swojego klucza w ten sposób, a także ważne i wspomniałem
o tym już w
module non-expo, upewnij się, że w interfejsach API Google, więc w konsoli chmury Google podczas sprawdzania biblioteki API, upewnij się, że zestaw SDK
map dla Androida jest włączony dla tego projektu, do którego należy ten klucz API, który
podałeś.
Więc tutaj jest
włączone, to musi należeć do projektu, dla którego utworzyłeś ten klucz API, który tutaj
podajesz, w przeciwnym razie to nie zadziała. Są to więc uprawnienia i ustawienia Map Google, więc możesz
potrzebować innych określonych ustawień, o których możesz
dowiedzieć się tutaj w aplikacji. plik json w zależności od używanych funkcji.
Możesz również skonfigurować Oczywiście wszystko inne i
tak wiele rzeczy, jedną rzeczą, którą absolutnie musisz podać, aby zbudować aplikację, jest także ten klucz pakietu.
Jest to coś, co zawsze musisz dodać bez względu na to,
czego używa Twoja aplikacja, tutaj w węźle Androida musisz podać klucz pakietu, a teraz musi on mieć określony format.
Zasadniczo jest to odwrotny adres URL, fikcyjny adres URL, który nie musi istnieć, ale działa jako unikalny identyfikator
w całym sklepie Google Play, więc powinien to być
odwrotny adres URL, którego nikt wcześniej nie używał, a zatem zazwyczaj jeśli jesteś właścicielem
domena, możesz użyć swojej domeny na przykład com. Academind, czyli odwrotna domena, a następnie unikalny
identyfikator, na przykład świetne miejsca. Możesz wymyślić dowolny URL, który chcesz tutaj,
ale oczywiście powinien on być unikalny, dlatego powinieneś użyć własnej domeny lub fikcyjnej
domeny, która nie jest własnością
nikogo, więc nie naukowiec, ponieważ ja to posiadam, więc każda inna domena, każdy inny fikcyjny identyfikator, który
powinien mieć
ten format, to tutaj podajesz.
Musisz także podać coś podobnego na iOS, tam, jeśli
przejdziesz do iOS, nie musisz podawać tego ustawienia uprawnień, ponieważ uprawnienia iOS działają inaczej, musisz
podać klucz
API Map Google, jeśli używasz Map Google wersja pakietu map na iOS,
domyślnie ten pakiet ma jednak używać Apple Maps i nie zmieniłem tego w
mojej aplikacji, więc nie muszę tutaj zapewniać Google
Maps API, ale zdecydowanie musisz podać tutaj identyfikator pakietu. Więc zamień paczkę na identyfikator pakietu, a format jest taki sam, masz
tutaj tę odwrotną składnię URL,
a ja nadam jej nazwę com. naukowiec. kurs great-places, a także skorzystaj
z tej edycji kursu na Androida.
Dlatego identyfikator pakietu dla systemu iOS i pakiet dla systemu Android musi mieć ustawiony taki odwrotny unikalny adres URL.
Teraz oprócz tych identyfikatorów musisz także ustawić coś innego,
w iOS musisz dodać numer kompilacji, również tutaj w węźle iOS, a numer
kompilacji powinien być ciągiem identyfikującym kompilację. Tam powinieneś mieć numer kompilacji, taki jak ta wersja, działający w
sposób, w jaki go tam wyjaśniłem.
Powinna to być liczba składająca się z trzech cyfr, w której masz numer poprawki dla poprawek, poprawek błędów, a
następnie ten drobny numer aktualizacji dla nowych funkcji, które nie wszystko psują, a ten główny numer aktualizacji,
możesz go zmienić w
dowolny sposób ale powinieneś to zmienić dla każdej nowej wersji, którą
publikujesz i wdrażasz, i oczywiście powinieneś zmienić ją tak, aby odzwierciedlała to, co się zmieniło.
Teraz potrzebujesz czegoś podobnego do
Androida, jeśli wrócimy do dokumentacji Androida, potrzebujemy również kodu wersji. Więc tutaj dodajemy kod wersji, a teraz nie jest to
ciąg znaków, ale liczba, którą powinieneś po prostu zwiększać o jeden dla każdej nowej
wersji.
Więc zaczynasz od pierwszej, następnej
wersji, którą wypuszczasz, nawet jeśli zawiera ona tylko drobne poprawki, powinna ona wynosić dwie, a następnie trzy i
tak dalej.
Więc to powinieneś tutaj skonfigurować, tak to działa dla Androida, znajdziesz również ten opis
tutaj w dokumentacji, a dzięki temu
jesteśmy teraz przygotowani do wdrożenia tego lub zbudowania go, a jak już wspomniałem, fajne
w zarządzaniu expo jest to, że teraz możesz zbudować to na serwerach w
chmurze expo.
Powinieneś więc uruchomić publikowanie expo, aby opublikować najnowszą wersję swojej aplikacji na serwerach expo, takich jak
ta, która nie zbuduje jej jeszcze jako samodzielnej aplikacji, a
teraz dostaję kilka ostrzeżeń lub błędów. Widzimy więc, że Android nie powinien mieć dodatkowej właściwości
Google Maps, tak,
ponieważ powinien być w węźle konfiguracji,
mój błąd.
Więc powinieneś dodać config tutaj i w config, możesz mieć ten klucz Google
Maps, to drobny błąd po mojej stronie i tutaj dla pakietu, Android tak naprawdę nie lubi
myślników, ale możesz użyć podkreślników, więc użyjmy tego . Po tym rozwiązaniu uruchommy teraz ponownie publikację expo, aby ponownie
to zweryfikować, a następnie opublikujemy najnowszą wersję
na serwerach expo, które ponownie nie rozpoczną jeszcze procesu kompilacji, ale co jest ważnym przygotowaniem, a
gdy to zrobisz, możesz rozpocząć również zbuduj swoją aplikację na Androida i
iOS.
Teraz różnica między publikowaniem a budowaniem polega na tym, że publikowanie popycha kod i konfigurację na
serwery expo, a następnie można skanować kod kreskowy za pomocą klienta expo i tak dalej.
Budowanie oznacza, że wykorzystasz usługę budowania w chmurze expo, aby naprawdę zbudować pakiet aplikacji na
Androida lub plik IPA na iOS,
są to pliki, które następnie przesyłasz do sklepów z aplikacjami, więc jest
tutaj ogromna różnica. Teraz te pakiety,
które budujesz, jak wspomniano wcześniej, obejmują klienta expo, że
tak powiem, obejmują to jako opakowanie wokół Twojej aplikacji, ale w końcu jest to prawdziwa
aplikacja natywna, więc jest to aplikacja natywna z tym małym dodatkowym małym
opakowaniem wokół niej biorąc pod uwagę konfigurację skonfigurowaną tutaj, na przykład w odniesieniu do uprawnień.
Ponadto te aplikacje, które budujesz na serwerach expo, które następnie możesz dystrybuować za pośrednictwem sklepów z aplikacjami, będą
rozmawiać z serwerami expo w celu bezprzewodowej aktualizacji. Więc nadal będziesz publikować nowe aktualizacje, a następnie publikować
je na expo, a Twoje samodzielne aplikacje działające na innych urządzeniach otrzymają te opublikowane aktualizacje,
więc publikowanie jest nadal ważne, nawet
jeśli budujesz samodzielne aplikacje, jeśli budujesz pakiety aplikacji, ponieważ te pakiety
aplikacji będą nadal komunikować się z serwerami expo, aby uzyskać nowe wersje.
Ale skoro o tym mowa, jak teraz budujemy te pakiety?
Robisz to za pomocą polecenia kompilacji expo i masz kompilację: Android i
kompilację: iOS.
Zacznijmy od kompilacji: Android i jak sama nazwa wskazuje, buduje aplikację na Androida.
Możesz dowiedzieć się wszystkiego na temat samodzielnego procesu budowania w dokumentach expo samodzielnych
aplikacji budowlanych, które również znajdują się tutaj i tam znajdziesz podstawową konfigurację, której potrzebujesz
i co powinieneś tam wziąć pod uwagę. Na Androidzie tutaj możesz stwierdzić, że przynajmniej teraz możesz
wybrać, czy chcesz zbudować plik APK, czy plik pakietu aplikacji, zaleca się utworzenie pliku pakietu
aplikacji, ponieważ jest
to preferowany format, który Google chce i w tym celu możesz uruchomić zamiast po prostu budować expo dla
Androida, uruchamiasz expo kompilację dla Androida -t dodatek do aplikacji. Jeśli teraz naciśniesz klawisz Enter, spowoduje to sprawdzenie poprawności
konfiguracji, a następnie przeniesienie kodu na serwery kompilacji w chmurze expo, gdzie zostanie to zaplanowane.
Teraz przede wszystkim zapyta Cię, ponieważ aplikacje muszą być podpisane, co dzieje się z
prywatną parą kluczy publicznych, która w końcu służy do zidentyfikowania Cię jako autora
aplikacji, przyszłych aktualizacji aplikacji i że nie oznacza
aktualizacje, które opublikowałeś na serwerach expo za pomocą polecenia publikowania expo, ale kiedy przebudowujesz
aplikację, kiedy przebudowujesz pakiet, który następnie ponownie ładujesz do sklepów z aplikacjami, które czasami musisz
zrobić, jeśli na przykład zmienisz ikonę lub coś innego, czego nie można udostępnić podczas
publikowania expo, w takich
przypadkach musisz podpisać aktualizację tymi samymi kluczami, których użyłeś do utworzenia oryginalnej aplikacji, aby zidentyfikować Cię jako autora,
w przeciwnym razie App Store
odmówi tej aktualizacji, to nie zaakceptuje kolejnej wersji aplikacji. Dlatego musisz podpisać swoją aplikację, a jeśli wiesz, co
robisz, możesz utworzyć i przesłać własny sklep z kluczami, ale tutaj pozostanę przy
wersji
pierwszej i pozwolę expo obsługiwać to, co oznacza, że stworzy
taki klucz do przypisania i wykonuj za Ciebie wszystkie czynności związane z podpisywaniem na swoich serwerach, więc to
właśnie tutaj wybrałem.
Teraz ponownie buduje aplikację, tak jak do publikowania, i mimo że tworzę aplikację na Androida, nadal buduje ją tutaj na iOS, ponieważ w końcu
to, co tutaj robi, to publikuje aplikację. Poczekajmy więc, aż to
się skończy, teraz robi to tak samo, jak publikuje go expo, ale
później zaplanuje jego budowę na serwerach expo.
Więc teraz publikowanie jest zakończone, a teraz planuje taką kompilację i kolejkuje ją, to przy okazji jest to
proces, który możesz teraz zakończyć, jak tu napisano, zawsze możesz sprawdzić status swojej kompilacji, wpisując
ten adres URL, „
Będę tam musiał zalogować się na swoje konto expo, aby zobaczyć status kompilacji.
Ważne, ta
kompilacja może potrwać bardzo
długo, sama kompilacja nie tyle, ale dopóki kompilacja nie zostanie zbudowana, ponieważ jest zaplanowana, pamiętaj, że
jest to usługa bezpłatna, więc oczywiście
nie jest budowana natychmiast, ale gdy serwery expo mają miejsce dla tego.
Może to potrwać kilka minut, a nawet godzin, więc nie martw się, jeśli
zajmie to trochę czasu, zawsze możesz sprawdzić adres URL widoczny w wierszu polecenia, aby
zobaczyć, co się dzieje. Możesz więc zrezygnować z
tego, jest to również adres URL, na którym później znajdziesz pliki
kompilacji, więc oto mój status kompilacji, jeśli to sprawdzimy, zobaczysz, że jest słodki i teraz nic
się nie dzieje,
możemy to sprawdzić później, aby zobaczyć proces kompilacji i pobierz gotowy pakiet aplikacji, a
teraz zróbmy to samo dla iOS.
Można to zrobić,
uruchamiając kompilację expo iOS. Teraz ważne, aby tworzyć aplikacje na iOS, potrzebujesz płatnego konta Apple
Developer, które musisz mieć.
Musisz więc udać się do programisty. jabłko. com i tam, musisz zalogować się przy użyciu
swojego Apple ID, a następnie zasadniczo uzyskać takie płatne konto, więc musisz dodać swoją kartę kredytową i uiścić opłatę w
wysokości 99 USD. Jest to wymagane, nie
można tego
obejść, Apple wymaga, abyś budował aplikacje, które chcesz publikować w ich sklepach.
Nie potrzebujesz tego podczas programowania,
ale teraz, aby udostępnić aplikację, musisz to mieć.
Zasadniczo jest to opłata, która pozwala tylko sklepom, którzy mają przynajmniej jakieś poważne
cele, jak sądzę.
Upewnij się więc, że zalogujesz się tutaj i skonfigurowałeś płatne konto Apple Developer, aby dołączyć do programu
Apple Developer, a następnie możesz uruchomić to polecenie i
poprosi Cię o zalogowanie się za pomocą konta Apple Developer. Więc logujesz się przy użyciu swojego identyfikatora Apple
ID i hasła, a dane nie będą przechowywane na serwerach expo,
nie martw
się, ale trzeba skonfigurować wszystko, aby zbudować aplikację, ponieważ do procesu kompilacji Apple potrzebujesz specjalnych
certyfikatów i tak dalej może poprosić w Twoim imieniu o te dane.
Gdy się zalogujesz, pojawi się pytanie, jak chcesz obsługiwać swoje dane uwierzytelniające, tak jak wcześniej,
jeśli nie wiesz, co robisz, powinieneś pozwolić expo zająć się tym wszystkim,
ponieważ, jak wspomniałem, potrzebujesz kilku specjalne certyfikaty, aby w końcu zbudować aplikację na iOS, a expo może zażądać tego wszystkiego dla ciebie
i ustawić to wszystko dla ciebie, więc pozwolę expo zrobić to dla wszystkich tych kroków, a
teraz w zasadzie zrobi to wszystko dla ciebie.
Teraz to także buduje moją aplikację tutaj na iOS i publikuje ją najpierw, to samo zrobiliśmy wcześniej
dla Androida, a teraz mamy również zaplanowaną kompilację na iOS. Tak jak poprzednio, jest w kolejce, możesz
wyjść z tego i po prostu obejrzeć swoją wersję tutaj w przeglądarce.
Więc teraz nie tylko mamy tę kolejkową kompilację dla Androida, ale mamy również tę kolejkową kompilację dla
iOS i oba zajmą trochę czasu, aż skończą.
Teraz jest jedna ważna rzecz, którą musisz zrobić po zakończeniu
tej kompilacji
dla Androida, której jeszcze nie ma, powinieneś uruchomić expo fetch: android: keystore.
Ponownie działa to tylko po zakończeniu kompilacji, ponieważ spowoduje to pobranie
automatycznie wygenerowanego magazynu kluczy, który wygeneruje expo, jeśli wybierzesz to w konfiguracji, której potrzebujesz do
przyszłych aktualizacji tej aplikacji. Zdecydowanie będziesz tego potrzebować, aw przyszłych
aktualizacjach podczas przebudowywania aplikacji musisz wybrać własny plik kluczy, a następnie musisz podać ten plik
kluczy, więc wprowadź ścieżkę do tego pliku kluczy, który następnie pobierzesz.
Więc to polecenie w końcu pobierze plik wygenerowany na serwerach expo, który musisz przechowywać w
systemie do przyszłej aktualizacji tej samej aplikacji, w
przeciwnym razie nie będziesz mógł zaktualizować.
Jest to więc ważne polecenie, które musisz uruchomić po zakończeniu tej kompilacji. Cóż, dzięki temu poczekajmy na
zakończenie, iOS
faktycznie się buduje, Android wciąż jest w kolejce, ale
iOS jest już w drodze,
więc poczekajmy na ukończenie kompilacji iOS i teraz to jest
zrobione, teraz mój iOS kompilacja jest skończona.
Teraz możesz również sprawdzić oficjalne dokumenty, w których możesz kontynuować testowanie na swoim urządzeniu lub
symulatorze, a następnie przejść do części, w której przesyłasz aplikację do Apple App Store i Google Play Store.
Więc
tworzymy aplikację, teraz możesz ją przesłać, uruchamiając przesyłanie expo: ios, domyślnie użyje twojej najnowszej aplikacji i prześle
ją do App Store.
Teraz jest to część, której nie zrobię tutaj, ponieważ tak naprawdę nie chcę tutaj publikować tej
aplikacji, ale właśnie to
zrobilibyście, użyłby tej aplikacji, która została właśnie tutaj zbudowana dla systemu iOS lub Android,
wersja dla Androida jest teraz również działa, jak widzę, więc użyłby tego, a następnie opublikowałby to z
tym poleceniem na iOS lub z tym poleceniem na Androida, w Google Play Store.
Teraz wykonaj czynności opisane tutaj w dokumentach, aby utworzyć odpowiednie konta i skonfigurować
wszystko poprawnie, aby to polecenie się
powiodło, a dzięki temu aplikacja zostanie wdrożona w Apple App Store i Google Play Store,
dzięki czemu może udostępnić twoją aplikację każdemu użytkownikowi na całym świecie jako samodzielnej aplikacji, niezależnej od zainstalowanego
klienta expo na urządzeniach, co jest całkiem fajne.