Signieren Ihrer App

Betriebssysteme weisen verschiedene Signierungsverfahren auf, die aber prinzipiell alle ähnlich sind. Apps, die an andere Benutzer zur Verwendung verteilt werden, müssen signiert werden. Obwohl die App-Signierung und die Erstellung von ArcGIS AppStudio ausgeführt werden, müssen Sie dennoch Signaturdateien von allen Betriebssystemanbietern abrufen und als Eingaben in AppStudio bereitstellen.

Vorbereiten einer neuen App

Bevor Sie sich anmelden und Ihre App veröffentlichen, sollten Sie ihr eine ArcGIS-Client-ID, eine Umleitungs-URI und eine Lizenzzeichenfolge zuweisen. Obwohl eine App weiterhin ohne Client-ID oder Umleitungs-URI erstellt werden kann, ist beides wichtig in einer App, die ArcGIS-Services verwendet.

Eine ArcGIS-Client-ID, auch AppID genannt, ist bei allen Apps für die Named-User-Anmeldung erforderlich. Um eine Client-ID zu erhalten, rufen Sie die Website https://developers.arcgis.com auf, melden Sie sich mit Ihren Entwickler-Anmeldeinformationen an, klicken Sie auf den Dropdown-Pfeil neben Dashboard, und wählen Sie Neue Anwendung aus. Nachdem Sie sich registriert haben, erhalten Sie eine Client-ID, die Sie in Ihre AppStudio-App kopieren können. Wenn Sie ArcGIS AppStudio verwenden, kann eine Client-ID auch unter Einstellungen > Lizenzierung erstellt werden, indem Sie auf die Schaltfläche Registrieren klicken.

Wenn für Ihre App eine Named-User-Anmeldung erforderlich ist, müssen Sie außerdem eine Umleitungs-URI angeben. Umleitungs-URIs stellen gültige Orte dar, zu denen ein Benutzer umgeleitet werden kann, nachdem er eine OAuth-Anmeldung durchgeführt hat. Um eine neue Umleitungs-URI für Ihre App hinzuzufügen, wechseln Sie unter https://developers.arcgis.com zur Registerkarte Authentifizierung für Ihre Anwendung. Hier registrieren Sie ggf. Ihre App und fügen eine eigene Umleitungs-URI hinzu. Sie können auch urn:ietf:wg:oauth:2.0:oob hinzufügen, um die gehostete Umleitungsseite zurück zu Ihrer App in ArcGIS Online zu verwenden. Die URI urn:ietf:wg:oauth:2.0:oob wird für alle in ArcGIS AppStudio erstellten und registrierten Umleitungs-URIs automatisch festgelegt.

Zum Erstellen von Apps, die ArcGIS Runtime 100.x verwenden, ist eine Lizenzzeichenfolge erforderlich. Eine App kann nicht ohne Lizenzzeichenfolge erstellt werden, die zudem die Funktionen der ArcGIS Plattform angibt, für deren Ausführung die App autorisiert ist. Weitere Informationen zum Abrufen einer Lizenzzeichenfolge finden Sie unter Lizenzieren Ihrer App.

Signieren Ihrer iOS-App

Alle iOS-Apps müssen signiert werden. Für Testzwecke erstellte Apps müssen durch ein Entwicklerzertifikat signiert sein, das mit Ihrem Apple Entwicklerkonto und dem Gerät, auf dem Sie die Tests durchführen, verknüpft ist. Ein Produktionszertifikat ist nur mit Ihrem Apple-Entwicklerkonto verknüpft.

Bevor Sie das Werkzeug Erstellen ("In Cloud erstellen" oder "Lokal erstellen") im Seitenbereich der AppStudio-Galerie ausführen, müssen Sie sicherstellen, dass Sie Folgendes unter Plattformen auf der Registerkarte iOS in den Einstellungen angegeben haben:

  • Bundle-ID: Verwenden Sie immer einen umgekehrten Internet-Domänennamen, z. B. "com.companyname.applicationname". Der Paketname ist eine eindeutige Kennung für die App und der Standardname für den Anwendungsprozess. Nachdem Sie die App veröffentlicht haben, können Sie den Paketnamen nicht mehr ändern. Weitere Informationen finden Sie in der Erläuterung der Bundle-ID unter Prepare for app distribution.
  • Provisioning-Profil: Gibt die Geräte an, auf denen Sie Ihre App ausführen möchten.
  • Zertifikat (.p12-Datei): Zertifikat für die App Store- oder interne Verteilung. Diese Datei wird in Keychain Access erstellt. Wenn Sie diese Informationen und die Bundle-ID nicht in AppStudio bereitstellen, werden keine Installationsdateien generiert. Weitere Informationen finden Sie unter What is app signing?

Wenn Sie das Werkzeug Erstellen ausführen, werden Sie aufgefordert, das Zertifikatkennwort anzugeben.

Um die für die Signierung erforderliche Zertifikatdatei zu erstellen, müssen die folgenden Schritte von jedem Entwickler einmal ausgeführt werden; ein Mac ist erforderlich:

  1. Laden Sie Ihr Entwicklerzertifikat (z. B. "ios_developer.cer") vom iOS Dev Center herunter.
  2. Laden Sie Ihr mobiles Provisioning-Profil (z. B. "ios_developer.mobileprovision") vom iOS Dev Center herunter.
  3. Navigieren Sie mit "Finder" zu Anwendungen > Dienstprogramme > Keychain Access.
  4. Importieren Sie Ihr Zertifikat in Keychain Access.
  5. Wählen Sie in Keychain Access in der Liste Keychain den Eintrag login und in der Liste Category den Eintrag My Certificates aus. Wählen Sie das Zertifikat mit dem Namen phone Developer: Ihr Name aus, und exportieren Sie das Zertifikat mit dem Privatschlüssel mit einem Kennwort (z. B. john_doe_private_key.p12).

    Ihre Zertifikatdatei wird erstellt.

  6. Navigieren Sie in AppStudio zu Einstellungen > Plattformen > iOS.
  7. Legen Sie den Pfad für das Provisioning-Profil fest.
  8. Legen Sie den Verteilungstyp für die App fest. Weitere Informationen zu den Optionen finden Sie in der Xcode-Dokumentation zu Verteilungsmethoden.
Hinweis:

Doppelklicken Sie auf die .p12-Zertifikatdatei und das mobile Provisioning-Profil, um die Dateien zu importieren.

Wenn Sie AppStudio unter macOS verwenden, müssen zwei zusätzliche Eigenschaften festgelegt werden, um iOS-Apps lokal zu erstellen. Die Inhalte dieser Felder sind dem Entwicklungs- oder Verteilungszertifikat zu entnehmen. Sie können diese anzeigen, indem Sie mit "Finder" zu Anwendungen > Dienstprogramme > Keychain Access navigieren.

Geben Sie die Organisationseinheit des Zertifikats in das Feld Team-ID ein.

Geben Sie den allgemeinen Namen des Zertifikats in das Feld Codesignatur-Identität ein.

Signieren Ihrer Android-App

Um eine Android-Version vorzubereiten, müssen Sie zunächst eine Keystore-Datei für Signaturen erstellen. Detaillierte Informationen dazu, wie diese Datei erstellt wird, finden Sie in der Android-Dokumentation.

Bevor Sie das Werkzeug Erstellen ("In Cloud erstellen" oder "Lokal erstellen") ausführen, müssen Sie sicherstellen, dass Sie Folgendes unter Plattformen auf der Registerkarte Android in den Einstellungen angegeben haben:

  • Paketname: Verwenden Sie immer einen umgekehrten Internet-Domänennamen, z. B. "com.companyname.applicationname". Der Paketname ist eine eindeutige Kennung für die App und der Standardname für den Anwendungsprozess. Nachdem Sie die App veröffentlicht haben, können Sie den Paketnamen nicht mehr ändern. Weitere Informationen finden Sie in den Erläuterungen zum Paketnamen im Manifestelement des Android SDK.
  • Pfad der Keystore-Datei: Der Speicherort der Keystore-Datei auf Ihrem Desktop-Computer
  • Schlüsselalias: Schlüsselname, der bei der Keystore-Erstellung erstellt wurde.

Wenn Sie diese Informationen nicht bereitstellen, werden Ihre Installationsdateien erstellt, sind jedoch unsigniert. Unsignierte Dateien können zu Testzwecken installiert, jedoch nicht beim Google Play Store oder Amazon Appstore eingereicht werden.

Wenn Sie das Werkzeug Erstellen ausführen, werden Sie aufgefordert, das Kennwort für den Keystore und den Schlüssel anzugeben.

Um einen Keystore zu erstellen, müssen die folgenden Schritte von jedem Entwickler einmal ausgeführt werden:

  1. Laden Sie das Java Development Kit (JDK) von https://www.oracle.com/technetwork/java/javase/downloads/index.html herunter, und installieren Sie es.
  2. Erstellen Sie eine Umgebungsvariable namens "JAVA_HOME" auf Ihrem Desktop-Computer: https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html.
  3. Fügen Sie den Pfad des bin-Ordners zu Ihrer PATH-Umgebungsvariable hinzu.
  4. Verwenden Sie Folgendes in einem Befehlsfenster, um den Schlüssel zu erstellen: keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000, wobei keystore_name der Name ist, den Sie für die resultierende Keystore-Datei auswählen, und alias_name der Name ist, den Sie als Alias auswählen.
  5. Geben Sie ein Keystore-Kennwort ein, und bestätigen Sie es.
  6. Geben Sie zusätzliche Informationen ein, und bestätigen Sie die Eingabe.
  7. Geben Sie ein Schlüsselkennwort ein. Dieses Kennwort kann eindeutig sein. Sie können auch die EINGABETASTE drücken, um dasselbe Kennwort wie das Keystore-Kennwort zu verwenden.

    Ihre Keystore-Datei wird in dem Ordner erstellt, in dem Sie diesen Befehl ausgeführt haben.

Signieren Ihrer macOS-App

Wenn Sie bei der Anforderung der Installationsdateien für macOS kein Zertifikat bereitstellen, werden diese wie bei Android zwar erstellt, sind jedoch unsigniert. Unsignierte Dateien können zu Testzwecken installiert, jedoch nicht an den Mac Store gesendet werden. Die folgenden Schritte ähneln denen von iOS, für macOS ist jedoch kein Provisioning-Profil erforderlich. Weitere Informationen finden Sie unter What is app signing?

Bevor Sie das Werkzeug Erstellen ("In Cloud erstellen" oder "Lokal erstellen") ausführen, müssen Sie sicherstellen, dass Sie Folgendes unter Plattformen auf der Registerkarte macOS in den Einstellungen angegeben haben:

  • Bundle-ID: Verwenden Sie immer einen umgekehrten Internet-Domänennamen, z. B. "com.companyname.applicationname". Der Paketname ist eine eindeutige Kennung für die App und der Standardname für den Anwendungsprozess. Nachdem Sie die App veröffentlicht haben, können Sie den Paketnamen nicht mehr ändern. Weitere Informationen finden Sie in der Erläuterung der Bundle-ID unter Prepare for app distribution.
  • Zertifikat (.p12-Datei): Zertifikat für die App Store- oder interne Verteilung. Diese Datei wird in Keychain Access erstellt. Wenn Sie diese Informationen und die Bundle-ID nicht in AppStudio bereitstellen, werden keine Installationsdateien generiert. Weitere Informationen finden Sie unter What is app signing?

Wenn Sie das Werkzeug Erstellen ausführen, werden Sie aufgefordert, das Zertifikatkennwort anzugeben.

Um die für die Signierung einer macOS-App erforderliche Zertifikatdatei zu erstellen, führen Sie dieselben Schritte aus wie oben für iOS-Apps beschrieben.

Signieren Ihrer Windows-App

Wenn Sie bei der Anforderung der Installationsdateien für Windows kein Zertifikat bereitstellen, werden diese wie bei Android zwar erstellt, sind jedoch unsigniert.

Bevor Sie das Werkzeug Erstellen ("In Cloud erstellen" oder "Lokal erstellen") ausführen, müssen Sie sicherstellen, dass Sie eine Zertifikatdatei unter Plattformen auf der Registerkarte Windows in den Einstellungen angegeben haben. Dieses Zertifikat (.p12- oder .pfx-Datei) ist für die Bereitstellung im Windows Store oder die interne Verteilung vorgesehen. Weitere Informationen finden Sie unter Erstellen eines Paketsignaturzertifikats in der Microsoft-Dokumentation für Entwickler.