Beim Erstellen für die App Stores kann die Expo-CLI,
also was wir hier in der Befehlszeile eingeben, Ihnen helfen oder helfen, aber möglicherweise
müssen Sie Ihre Konfiguration in der App anpassen. JSON-Datei abhängig davon, welche Funktionen Ihre Anwendung verwendet.
Unsere Anwendung hier verwendet also eine Reihe nativer Module. Diese Module müssen alle Berechtigungen anfordern, und wir
tun dies mit der Berechtigungs-API, wie zum Beispiel in der Bildauswahl hier, wenn wir nach Berechtigungen fragen, aber auch
für Android Sie müssen eine Liste der Berechtigungen bereitstellen, die Ihre App in einer Konfigurationsdatei
benötigt, die Sie bei Verwendung von React Native nur haben, bei Verwendung von expo jedoch nicht, da expo diesen
Wrapper bereitstellt und all dies für Sie in der expo erledigt Client, aber jetzt planen wir nicht mehr,
den Expo-Client zu verwenden. Obwohl dies, wie
bereits erwähnt, in Ihre eigenständige App aufgenommen wird, müssen Sie Expo jetzt mitteilen, welche Berechtigungen
dort angefordert werden sollen.
Wenn Sie beispielsweise Google Maps verwenden, müssen Sie auch Ihren Google Maps-API-Schlüssel angeben. Damit meine ich nicht,
dass wir dies hier tun, was wir in einigen Teilen unseres Javascript-Codes verwenden, sondern
um Verwenden Sie das React Native-Kartenpaket.
Auch hier verwendet die Expo-Client-App grundsätzlich einen eigenen Schlüssel für die Entwicklung usw. Sobald Sie jedoch eine
eigenständige App anbieten möchten, müssen Sie Ihre eigenen Schlüssel mitbringen, damit der in Ihrer eigenständigen
App enthaltene Expo-Wrapper Ihren verwendet Schlüssel, weil das
Expo-Team Ihnen dafür keinen Schlüssel gibt, der ihnen gehört.
Auch hier sind die offiziellen Dokumente Ihre Freunde, dort können Sie lernen,
was Sie in der App einrichten können. json-Datei und beginnen
wir mit Android, da Sie dort etwas mehr konfigurieren müssen, bevor wir uns
mit den Besonderheiten von iOS befassen.
Für Android gibt es neben Symbolen usw. auch die Berechtigungen, die Sie konfigurieren können. Jetzt können Sie einfach den Berechtigungsschlüssel weglassen.
In diesem Fall richtet expo, wie Sie hier sehen, Ihre App so ein,
dass alle Berechtigungen angefordert werden.
Jetzt würde ich das nicht empfehlen, da die Leute Ihre App im App Store ansehen und wenn sie
sehen, dass Ihre grundlegende Place-Management-App die Berechtigung zum Lesen ihrer Kontakte oder zum Tätigen von Anrufen wünscht, weiß ich nichts über Sie, aber ich würde
es nicht tun. t Laden Sie eine solche App herunter.
Meine Empfehlung wäre also, dass Sie die Berechtigungen, die Ihre App benötigt, genau angeben und
dies tun, indem Sie zu Ihrer App gehen. json-Datei und dort im Android-Knoten fügen Sie den Berechtigungsschlüssel
hinzu und jetzt fügen Sie Berechtigungen hinzu.
Jetzt werden immer einige Basisberechtigungen angefordert, und Sie finden diese Berechtigungen hier, z. B. Berechtigungen zum Abrufen von
Daten aus dem Internet usw. Sie können jetzt jedoch auch Berechtigungen hinzufügen, um den Benutzerstandort zu verwenden
und auf die Kamera zuzugreifen, da wir dies tun werden tun.
Fügen wir diese Schlüssel hier also zu solchen Berechtigungen hinzu, zu Schlüssel mit doppelten Anführungszeichen, die in dieser
Datei wichtig sind
und diesem Berechtigungsarray hinzugefügt wurden.
Jetzt benötigen wir auch die Berechtigung zum Schreiben eines externen Speichers, um unser Image zu speichern. Daher sollten wir dies auch hinzufügen und damit für
diese Anwendung
gut sein. Abhängig von der Anwendung, die Sie erstellen, sollten Sie jedoch
sorgfältig prüfen, welche Berechtigungen Ihre App hat Wenn Sie
dies benötigen, können Sie jederzeit die Dokumentationsseiten der von Ihnen verwendeten nativen Modulpakete konsultieren. Dort sollten
Sie normalerweise eine Beschreibung der
Berechtigungen finden, die dieses Paket benötigt. Berechtigungen sind also eine
Sache. Wenn Sie Google Maps verwenden, sollten Sie außerdem den Google
Maps-Knoten zu Ihrer Android-Konfiguration hinzufügen.
Nach
den Berechtigungen können wir hier also Google Maps wie dieses hinzufügen, die auch ein Objekt als Wert enthalten. In diesem Objekt
richten Sie den API-Schlüssel ein.
Auch dies haben Sie für den Expo-Client nicht benötigt, als wir die App auf dieser Expo-Seite veröffentlicht und die Expo-Client-App verwendet haben, da
Ihnen das Expo-Team im Grunde genommen einen eigenen Google Maps-Schlüssel gibt. Wenn Sie jedoch eine eigenständige App erstellen,
sind Sie es müssen Ihre eigene zur Verfügung stellen.
Stellen Sie daher sicher, dass Sie Ihren Schlüssel hier so und auch wichtig verwenden, und ich habe dies
bereits im Nicht-Expo-Modul erwähnt.
Stellen Sie sicher, dass Sie in den Google-APIs, also in der Google Cloud-Konsole, wenn Sie Ihre API-Bibliothek überprüfen Stellen Sie sicher, dass das
Karten-SDK für Android für dieses Projekt aktiviert ist, zu dem dieser von Ihnen bereitgestellte API-Schlüssel
gehört.
Hier ist es
also aktiviert. Dies muss zu dem Projekt gehören, für das Sie den API-Schlüssel erstellt haben,
den Sie jetzt hier bereitstellen. Andernfalls funktioniert dies nicht. Dies sind also die Berechtigungen und Google Map-Einstellungen. Möglicherweise benötigen
Sie andere spezifische Einstellungen, die Sie hier
in der App kennenlernen können. JSON-Datei, je nachdem, welche Funktionen Sie verwenden.
Sie können natürlich auch alles andere und so
viele Dinge konfigurieren. Eine Sache, die Sie unbedingt benötigen müssen, um Ihre App zu erstellen, ist auch dieser Paketschlüssel.
Dies ist etwas, das Sie immer hinzufügen müssen, unabhängig davon, was
Ihre App verwendet. Hier im Android-Knoten müssen Sie den Paketschlüssel angeben, und dieser muss jetzt ein bestimmtes Format haben.
Es handelt sich im Grunde genommen um eine inverse URL, eine fiktive URL, die nicht vorhanden sein muss, aber im gesamten Google
Play Store als eindeutige Kennung fungiert. Daher sollte es sich um
eine inverse URL handeln, die zuvor noch niemand verwendet hat, und daher normalerweise, wenn Sie sie besitzen
Als Domain würden Sie Ihre Domain zum Beispiel com verwenden. akademisch, also eine inverse Domäne und dann
eine eindeutige Kennung, wie großartige Orte. Sie können sich hier jede gewünschte URL einfallen
lassen, aber natürlich sollte sie wieder eindeutig sein und Sie sollten daher Ihre eigene Domain
oder eine fiktive Domain verwenden,
die niemandem gehört, also nicht akademisch, weil ich diese besitze, also jede andere Domain, jede andere fiktive Kennung, die
dieses Format haben
sollte, geben Sie hier an.
Sie müssen auch unter iOS etwas Ähnliches bereitstellen. Wenn Sie
zu iOS wechseln, müssen Sie diese Berechtigungseinstellungen nicht bereitstellen, da iOS-Berechtigungen anders funktionieren. Wenn Sie Google Maps
verwenden, müssen
Sie einen Google Maps-API-Schlüssel angeben Version des Kartenpakets für iOS. Die Standardeinstellung dieses Pakets
ist jedoch die Verwendung von Apple Maps. Ich habe dies in meiner App nicht
geändert, sodass ich hier keine Google Maps-API bereitstellen
muss. Hier müssen Sie jedoch unbedingt Folgendes angeben eine Bündelkennung. Ersetzen Sie also das Paket durch die Bundle-ID und das Format ist das
gleiche. Sie haben hier diese inverse
URL-Syntax und ich werde sie com nennen. akademisch. Great-Places-Kurs und verwenden Sie
diese -course-Edition auch hier auf Android.
Daher muss die Bundle-ID für iOS und das Paket für Android auf eine solche inverse eindeutige URL eingestellt werden.
Neben diesen Bezeichnern müssen Sie jetzt noch etwas anderes festlegen. Unter
iOS müssen Sie daher auch hier im iOS-Knoten eine Build-Nummer hinzufügen. Die Build-Nummer sollte
eine Zeichenfolge sein, die Ihren Build identifiziert. Dort sollten Sie eine Build-Nummer wie diese Version haben und so arbeiten,
wie ich es dort oben erklärt habe.
Es sollte also eine dreistellige Nummer sein, bei der Sie eine Patch-Nummer für Patches, Fehlerbehebungen, diese kleine Update-Nummer
für neue Funktionen, die jedoch nicht alles kaputt machen, und diese Haupt-Update-Nummer haben. Sie können diese ändern,
wie Sie möchten Sie
sollten es jedoch für jede neue Version ändern, die Sie veröffentlichen
und bereitstellen, und Sie sollten es natürlich so ändern, dass Sie die Änderungen widerspiegeln.
Jetzt brauchen Sie etwas Ähnliches für
Android. Wenn wir zur Android-Dokumentation zurückkehren, brauchen wir dort auch einen Versionscode. Hier fügen wir also Versionscode hinzu und hier ist dies
keine Zeichenfolge, sondern eine Zahl, die Sie für jede neue Version einfach um eins
erhöhen sollten.
Sie beginnen also bei eins,
die nächste Version, die Sie veröffentlichen, auch wenn sie nur einige winzige Korrekturen enthält, sollte zwei und dann drei sein
und so weiter.
Das sollten Sie hier einrichten. So funktioniert es für Android. Diese Beschreibung finden Sie auch
hier in der Dokumentation. Damit sind
wir nun bereit, diese bereitzustellen oder zuerst zu erstellen und, wie bereits erwähnt, cool
Was Expo Managed betrifft, ist, dass Sie dies jetzt auf den Cloud-Servern von Expo
erstellen können.
Was Sie also tun sollten, ist, Expo Publish auszuführen, um die neueste Version Ihrer App auf den Servern von Expo
zu veröffentlichen, genau so, wie es noch nicht als eigenständige App erstellt wurde.
Jetzt erhalte ich hier einige Warnungen oder Fehler. Wir sehen also, dass Android keine zusätzliche Eigenschaft Google Maps
haben sollte, ja,
weil das in einem Konfigurationsknoten sein sollte,
mein Fehler.
Sie sollten also hier und in config eine Konfiguration hinzufügen. Möglicherweise haben Sie diesen
Google Maps-Schlüssel. Das ist ein kleiner Fehler auf meiner Seite. Hier für das Paket mag Android keine Bindestriche,
aber Sie können Unterstriche verwenden. Verwenden wir diesen also . Nachdem dies behoben ist, lassen Sie uns jetzt die Expo-Veröffentlichung erneut
ausführen, um dies erneut zu überprüfen, und dann die
neueste Version auf den Servern der Expo veröffentlichen, die den Erstellungsprozess noch nicht starten, aber eine wichtige Vorbereitung darstellen.
Sobald dies erledigt ist, können Sie loslegen Erstellen Sie auch Ihre App für Android und
iOS.
Der Unterschied zwischen Veröffentlichen und Erstellen besteht nun darin, dass durch das Veröffentlichen nur Ihr Code und Ihre Konfiguration auf
die Server von expo übertragen werden und Sie den Barcode dann mit dem expo-Client scannen können und so weiter.
Erstellen bedeutet, dass Sie den Cloud-Build-Service von expo nutzen, um wirklich ein Android-App-Bundle oder eine
iOS-IPA-Datei zu erstellen. Dies sind die
Dateien, die Sie anschließend in die App-Stores hochladen, sodass hier ein
großer Unterschied besteht. Diese Bundles, die
Sie wie oben erwähnt erstellen, enthalten sozusagen den
Expo-Client. Sie enthalten dies als Wrapper für Ihre App, aber es ist schließlich eine
echte native App, also eine native App mit nur diesem kleinen,
extra kleinen Wrapper Berücksichtigen Sie dabei die hier eingerichtete Konfiguration, beispielsweise hinsichtlich der Berechtigungen.
Darüber hinaus sprechen diese Apps, die Sie auf den Servern von expo erstellen und die Sie dann über die App Stores verteilen können,
mit den Servern von expo, um die drahtlose Aktualisierungsfunktion zu erhalten. Sie veröffentlichen also immer noch neue Updates mit Expo
Publish danach und Ihre eigenständigen Apps, die auf anderen Geräten ausgeführt werden, erhalten diese veröffentlichten Updates.
Daher ist das Veröffentlichen auch dann wichtig,
wenn Sie eigenständige Apps erstellen, wenn Sie App-Bundles erstellen, weil Diese App-Bundles
werden weiterhin mit den Servern von expo kommunizieren, um neue Versionen zu erhalten.
Aber wie bauen wir diese Bündel jetzt?
Sie tun dies mit dem Befehl expo build und dort haben Sie build: Android und
build: iOS.
Beginnen wir mit Build: Android und wie der Name schon sagt, wird eine App für Android erstellt.
Alles über den Standalone-Erstellungsprozess erfahren Sie in den Expo-Dokumenten zum Erstellen von Standalone-Apps, die
Sie auch hier und dort finden. Dort finden Sie die grundlegende Konfiguration, die Sie
benötigen, und was Sie dort berücksichtigen sollten. Für Android können Sie hier auch jetzt zumindest
auswählen, ob Sie eine APK- oder eine App-Bundle-Datei erstellen möchten. Das Erstellen einer App-Bundle-Datei wird
empfohlen, da dies
das von Google gewünschte Format ist und Sie dies ausführen können Anstatt nur Expo Build Android zu
verwenden, führen Sie Expo Build Android -t App Add-Bundle aus. Wenn Sie jetzt die Eingabetaste drücken, wird am Ende Ihr
Setup überprüft und Ihr Code dann an die Cloud-Build-Server von expo gesendet, wo dies nun geplant wird.
Zunächst werden Sie gefragt, ob Apps signiert werden müssen. Dies geschieht mit einem privaten öffentlichen Schlüsselpaar,
mit dem Sie am Ende als Autor der App identifiziert werden, mit zukünftigen Updates der
App und damit nicht Dies bedeutet nicht, dass Sie
Aktualisierungen, die Sie mit dem Befehl expo Publish auf den Servern von expo veröffentlicht haben, aber
wenn Sie die App neu erstellen, wenn Sie das Paket neu erstellen, das Sie dann erneut in
die App Stores hochladen, was Sie gelegentlich tun müssen, wenn Sie beispielsweise das Symbol ändern In
anderen Fällen müssen Sie
das Update mit denselben Schlüsseln signieren, die Sie zum Erstellen der ursprünglichen App verwendet haben, um Sie als Autor zu
identifizieren. Andernfalls lehnt der App Store
dieses Update ab akzeptiert Ihre nächste Version der App nicht. Daher müssen Sie Ihre App signieren. Wenn Sie wissen, was
Sie tun, können Sie Ihren eigenen Schlüsselspeicher erstellen und hochladen. Hier bleibe ich jedoch
bei
Version 1 und lasse expo das erledigen, was bedeutet, dass
ein solcher Schlüssel für die Zuweisung erstellt wird und erledige das ganze Signieren für dich auf ihren Servern, also
wähle ich das hier.
Damit wird die App wieder erstellt, genau wie zum Veröffentlichen, und obwohl ich eine Android-App erstelle, wird sie hier immer noch für iOS erstellt,
da sie hier letztendlich die App veröffentlicht. Warten wir also, bis dies
abgeschlossen ist. Jetzt funktioniert es genauso wie die Veröffentlichung auf der Expo. Danach wird
geplant, dass dies auf den Servern der Expo erstellt wird.
Jetzt ist die Veröffentlichung abgeschlossen und es wird ein solcher Build geplant und in die Warteschlange gestellt. Dies ist übrigens ein
Prozess, den Sie jetzt beenden können, wie hier angegeben. Sie können den Status Ihres Builds jederzeit überprüfen,
indem Sie diese URL eingeben.
Sie müssen sich dort mit Ihrem Expo-Konto anmelden, und dann können Sie den Build-Status sehen.
Nun wichtig,
dieser Build kann sehr lange
dauern, der Build selbst nicht so sehr, aber bis Ihr Build erstellt ist, weil er geplant ist, denken Sie
daran, dass dies ein kostenloser Service ist.
Natürlich wird er nicht sofort erstellt, sondern wenn die Server der Messe Platz haben dafür.
Dies kann einige Minuten oder sogar Stunden dauern, bis dies passiert. Machen Sie sich also keine
Sorgen, wenn dies einige Zeit dauert. Sie können jederzeit diese URL überprüfen, die Sie in Ihrer Befehlszeile sehen,
um zu sehen, was passiert. Sie können dies beenden. Dies
ist auch eine URL, unter der Sie später die Build-Dateien finden. Wenn wir
sie überprüfen, sehen Sie hier meinen Build-Status. Sie sehen, dass sie niedlich sind und im Moment passiert nichts anderes.
Wir können dies später
erneut überprüfen, um zu sehen den Erstellungsprozess und laden Sie das fertige App-Bundle herunter und lassen Sie
uns dies vorerst auch für iOS tun.
Dies kann durch Ausführen
von expo build iOS erfolgen. Um iOS-Apps zu erstellen, benötigen Sie ein kostenpflichtiges Apple Developer-Konto, das
Sie unbedingt haben müssen.
Sie müssen also zum Entwickler gehen. Apfel. com und dort müssen Sie sich mit Ihrer
Apple ID anmelden und dann im Grunde genommen ein solches bezahltes Konto erhalten. Sie müssen also Ihre Kreditkarte hinzufügen und eine Gebühr
von 99 US-Dollar zahlen. Das ist erforderlich, daran
führt kein Weg
vorbei. Apple verlangt, dass Sie Apps erstellen, die Sie in ihren Stores veröffentlichen möchten.
Sie brauchen das während der Entwicklung nicht,
aber jetzt, um die App zu teilen, müssen Sie das haben.
Es ist im Grunde eine Gebühr, die nur dazu da ist, Menschen in den Laden zu lassen, die dort zumindest
ernsthafte Ziele haben, denke ich.
Stellen Sie also sicher, dass Sie sich hier anmelden und Ihr kostenpflichtiges Apple Developer-Konto für die Teilnahme
am Apple Developer Program einrichten. Anschließend können Sie diesen
Befehl ausführen und werden aufgefordert, sich mit Ihrem Apple Developer-Konto anzumelden. Sie melden sich also mit Ihrer Apple-ID und Ihrem
Kennwort an und diese Daten werden nicht auf den Servern der Messe
gespeichert. Keine
Sorge, sie müssen jedoch alles zum Erstellen Ihrer App einrichten, da Sie für den Apple-Erstellungsprozess
spezielle Zertifikate usw. benötigen es kann in Ihrem Namen mit diesen Daten anfordern.
Sobald Sie sich angemeldet haben, werden Sie gefragt, wie Sie mit Ihren Anmeldeinformationen umgehen möchten. Wenn
Sie nicht wissen, was Sie tun, sollten Sie expo all dies überlassen, da Sie,
wie bereits erwähnt, einige benötigen Spezielle Zertifikate, mit denen Sie am Ende Ihre iOS-App und Expo erstellen können, können all das für Sie
anfordern und all das für Sie festlegen. Ich lasse Expo dies für all diese Schritte tun und
jetzt erledigt es im Grunde alles für Sie.
Jetzt wird hier auch meine App für iOS erstellt und zuerst erneut veröffentlicht. Das ist das gleiche, was wir zuvor
für Android getan haben, und jetzt ist auch ein Build für iOS geplant. Nach wie vor befindet sich dies in
der Warteschlange. Sie können dies beenden und Ihren Build hier im Browser ansehen.
Jetzt haben wir nicht nur den Android-Build in der Warteschlange, sondern auch den iOS-Build in der Warteschlange, und
beide werden eine Weile dauern, bis sie fertig sind.
Jetzt gibt es eine wichtige Sache, die Sie auch tun müssen, nachdem
dieser Android-Build
fertig ist, die es noch nicht ist. Sie sollten expo fetch: android: keystore ausführen.
Dies funktioniert wieder nur nach Abschluss des Builds, da dieser automatisch generierte Keystore
abgerufen wird, den die Expo für Sie generiert, wenn Sie den im Setup ausgewählten ausgewählt haben, den Sie für
zukünftige Updates dieser App benötigen. Sie werden das auf jeden Fall brauchen und in zukünftigen
Updates, wenn Sie die App neu erstellen, müssen Sie dann auswählen, dass Sie Ihren eigenen Keystore bereitstellen, und Sie müssen diesen Keystore
dann
bereitstellen. Geben Sie also den Pfad zu diesem Keystore ein, den Sie dann herunterladen.
Dieser Befehl lädt am Ende eine Datei herunter, die auf den Servern von expo generiert wurde und die
Sie für zukünftige Updates derselben App auf Ihrem System speichern
müssen. Andernfalls können Sie keine Updates durchführen.
Das ist also ein wichtiger Befehl, den Sie ausführen müssen, sobald dieser Build abgeschlossen ist. Nun, damit warten wir, bis
es fertig ist.
IOS wird bereits erstellt. Android befindet sich noch in
der Warteschlange, aber iOS ist
bereits in Betrieb. Warten wir also, bis der iOS-Build abgeschlossen ist.
Jetzt ist mein iOS fertig Build ist fertig.
Jetzt können Sie auch in den offiziellen Dokumenten nachlesen, wie Sie dies auf Ihrem Gerät oder Simulator testen können,
oder dann zu dem Teil gehen, in dem Sie die App in den Apple App Store und den Google Play Store hochladen.
Wir erstellen
die App. Jetzt können Sie sie hochladen, indem Sie expo upload: ios ausführen. Dabei wird standardmäßig Ihre neueste App verwendet und
in den App Store hochgeladen.
Jetzt ist es der Teil, den ich hier nicht machen werde, weil ich diese App hier nicht wirklich veröffentlichen möchte,
aber es ist das, was
Sie jetzt tun würden, es würde diese Anwendung verwenden, die gerade hier für iOS oder für Android
erstellt wurde, Android Build ist läuft jetzt auch wie ich sehe, also würde es dies verwenden und dies dann entweder
mit diesem Befehl auf iOS oder mit diesem Befehl auf Android im Google Play Store veröffentlichen.
Befolgen Sie nun die Schritte, die Sie hier in den Dokumenten finden, um die entsprechenden Konten
zu erstellen und alles korrekt einzurichten, damit dieser
Befehl erfolgreich ausgeführt werden kann. Damit wird Ihre App im Apple App Store und im Google Play Store bereitgestellt,
damit Sie Sie können Ihre App als eigenständige App an jeden Benutzer auf der ganzen Welt senden, unabhängig davon, ob der
Expo-Client auf den Geräten installiert ist, was ziemlich ordentlich ist.