App Store-Verteilung

Nachdem eine Xamarin.iOS-Anwendung entwickelt wurde, ist der nächste Schritt im Lebenszyklus der Softwareentwicklung die Verteilung der Anwendung an Benutzer mithilfe des iTunes App Stores. Dies ist die gängigste Methode zum Verteilen von Anwendungen. Indem eine Anwendung im App Store von Apple veröffentlicht wird, kann Sie weltweit für Verbraucher verfügbar gemacht werden.

Wichtig

Apple hat mitgeteilt, dass ab März 2019 alle Apps und Updates, die an den App Store gesendet werden, mit dem iOS 12.1 SDK oder höher, das in Xcode 10.1 oder höher enthalten ist, erstellt worden sein müssen. Apps müssen ebenso die Bildschirmgrößen des iPhone XS und des iPad Pro in 12,9" unterstützen.

Wichtig

Wenn Sie Xamarin.Forms verwenden und nach Ressourcen zur UIWebView-Veraltungswarnung (ITMS-90809) suchen, finden Sie weitere Informationen in der Dokumentation zu Xamarin.Forms-WebView.

Das Verteilen einer Anwendung erfordert genau wie das Entwickeln einer Anwendung, dass Anwendungen mit dem entsprechenden Bereitstellungsprofil bereitgestellt werden. Bereitstellungsprofile sind Dateien, die Informationen zur Codesignierung sowie die Identität der Anwendung und den beabsichtigten Verteilungsmechanismus enthalten. Sie enthalten auch Informationen darüber, für welche Geräte eine App bereitgestellt wird, wenn die Verteilung nicht über den App Store stattfindet.

Wichtig

Um iTunes Connect verwenden und somit eine App im App Store veröffentlichen zu können, müssen Sie an einem Apple Developer Program für Einzelpersonen oder Organisationen teilnehmen. Wenn Sie Mitglied eines Apple Developer Enterprise Programs sind, können Sie die Schritte auf dieser Seite nicht ausführen.

Bereitstellen einer App für die Verteilung über den App Store

Unabhängig davon, wie Sie eine Xamarin.iOS-Anwendung veröffentlichen möchten, müssen Sie ein spezielles Verteilungsbereitstellungsprofil dafür erstellen. Dieses Profil ermöglicht das digitale Signieren der Anwendung für die Veröffentlichung, sodass sie auf einem iOS-Gerät installiert werden kann. Ähnlich wie ein Entwicklungsbereitstellungsprofil enthält ein Verteilungsprofil Folgendes:

  • Eine App-ID
  • Ein Verteilungszertifikat

Sie können dieselbe App-ID und dieselben Geräte wie für das Entwicklungsbereitstellungsprofil verwenden. Wenn Sie bereits eines besitzen, müssen Sie ein Verteilungszertifikat erstellen, um Ihre Organisation zu identifizieren, wenn Sie die App an den App Store übermitteln. Die Schritte zum Erstellen eines Verteilungszertifikats werden im folgenden Abschnitt beschrieben.

Hinweis

Nur Team-Agents und Administratoren können Verteilungszertifikate und Bereitstellungsprofile erstellen.

Erstellen eines Verteilungszertifikats

  1. Navigieren Sie zum Abschnitt Certificates, Identifiers & Profiles (Zertifikate, Bezeichner & Profile) im Developer Member Center von Apple.

  2. Wählen Sie unter Certificates (Zertifikate) die Option Production (Produktion) aus.

  3. Klicken Sie auf die Schaltfläche +, um ein neues Zertifikat zu erstellen.

  4. Wählen Sie unter der Überschrift Produktion die Option App Store and Ad Hoc (App Store und Ad-hoc) aus:

    Select App Store and Ad Hoc

  5. Klicken Sie auf Continue (Weiter), und befolgen Sie die Anweisungen zum Erstellen einer Zertifikatsignieranforderung mithilfe des Keychain-Zugriffs:

    Create a Certificate Signing Request via Keychain Access

  6. Sobald Sie die CSR wie beschrieben erstellt haben, klicken Sie auf Weiter, und laden Sie die CSR in das Member Center hoch:

    Upload the CSR to the Member Center

  7. Klicken Sie auf Generate (Generieren), um das Zertifikat zu erstellen.

  8. Klicken Sie für das abgeschlossene Zertifikat auf Download (Herunterladen), und doppelklicken Sie auf die Datei, um sie zu installieren.

  9. Zu diesem Zeitpunkt sollte das Zertifikat auf dem Computer installiert sein, aber Sie müssen möglicherweise Ihre Profile aktualisieren, um sicherzustellen, dass sie in Xcode sichtbar sind.

Alternativ ist es möglich, ein Zertifikat über das Dialogfeld „Einstellungen“ in Xcode anzufordern. Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie das Team aus, und klicken Sie auf Manage Certificates… (Zertifikate verwalten...): Select the team and View Details.

  2. Klicken Sie anschließend auf die Schaltfläche Erstellen neben iOS Distribution Certificate (iOS-Verteilungszertifikat): Create an iOS Distribution Certificate.

  3. Die Signierungsidentität wird wie unten dargestellt abhängig von Ihren Teamprivilegien generiert, oder Sie müssen warten, bis ein Team-Agent oder Administrator diese genehmigt: The signing identity will be generated and a dialog displayed.

Erstellen eines Verteilungsprofils

Erstellen einer App-ID

Wie bei anderen erstellten Bereitstellungsprofilen ist eine App-ID erforderlich, um die Anwendung zu identifizieren, die Sie an das Gerät des Benutzers verteilen. Wenn Sie diese noch nicht erstellt haben, führen Sie die folgenden Schritte aus:

  1. Navigieren Sie im Apple Developer Center zum Abschnitt Certificate, Identifiers and Profiles (Zertifikate, Bezeichner und Profile). Wählen Sie unter Identifiers (Bezeichner) App IDs (App-IDs) aus.
  2. Klicken Sie auf die Schaltfläche +, und geben Sie einen Namen ein, der Sie im Portal identifiziert.
  3. Das App-Präfix sollte bereits als Ihre Team-ID festgelegt sein und kann nicht geändert werden. Wählen Sie entweder eine explizite oder eine Platzhalter-App-ID aus, und geben Sie eine Bundle-ID in einem umgekehrten DNS-Format ein, wie beispielsweise:
    • Explizit: com.[Domänenname].[AppName]
    • Platzhalter: com.[Domänenname].*
  4. Wählen Sie die App-Dienste aus, die die Anwendung benötigt.
  5. Klicken Sie auf die Schaltfläche Weiter, und folgen Sie der Anleitung auf dem Bildschirm, um die neue App-ID zu erstellen.

Erstellen eines Bereitstellungsprofils

Sobald Sie die erforderlichen Komponenten zum Erstellen eines Verteilungsprofils besitzen, führen Sie die folgenden Schritte aus, um es zu erstellen:

  1. Navigieren Sie zurück zum Apple-Bereitstellungsportal, und wählen Sie Bereitstellung>Verteilung aus:

    RSelect Provisioning > Distribution

  2. Klicken Sie auf die Schaltfläche +, und wählen Sie als Typ des Verteilungsprofils, das Sie erstellen möchten, App Store aus:

    Create an App Store distribution profile

  3. Klicken Sie auf die Schaltfläche Continue (Weiter), und wählen Sie aus der Dropdownliste die App-ID aus, für die Sie ein Verteilungsprofil erstellen möchten:

    Select App ID from the dropdown list

  4. Klicken Sie auf die Schaltfläche Weiter, und wählen Sie das Zertifikat zum Signieren der Anwendung aus:

    Select the certificate required to sign the application

  5. Klicken Sie auf die Schaltfläche Weiter, und wählen Sie das iOS-Gerät aus, auf dem die Xamarin.iOS-Anwendung ausgeführt werden soll:

    Select the iOS devices that app will be allowed to run on

  6. Klicken Sie auf die Schaltfläche Continue (Weiter), und geben Sie unter Name einen Wert für das neue Verteilungsprofil ein:

    Enter a Name for the new Distribution Profile

  7. Klicken Sie auf die Schaltfläche Generieren, um das neue Profil zu erstellen und den Prozess abzuschließen.

Möglicherweise müssen Sie Visual Studio für Mac beenden und die Liste der verfügbaren Signierungsidentitäten und Bereitstellungsprofile in Xcode aktualisieren (anhand der Anweisungen im Abschnitt Anfordern von Signierungsidentitäten), bevor ein neues Verteilungsprofil in Visual Studio für Mac verfügbar ist.

Auswählen eines Verteilungsprofils in einem Xamarin.iOS-Projekt

Wenn Sie bereit sind, den endgültigen Build einer Xamarin.iOS-Anwendung für den Verkauf im iTunes App Store bereitzustellen, wählen Sie das zuvor erstellte Verteilungsprofil aus.

Gehen Sie in Visual Studio für Mac folgendermaßen vor:

  1. Doppelklicken Sie auf den Projektnamen im Projektmappen-Explorer, um das Projekt für die Bearbeitung zu öffnen.

  2. Wählen Sie aus der Dropdownliste Konfiguration die Optionen iOS-Bundle-Signierung und Release | iPhone aus:

    Select Release | iPhone from the Configuration dropdown

  3. In den meisten Fällen kann für die Signierungsidentität und das Bereitstellungsprofil der Standardwert Automatisch beibehalten werden. Visual Studio für Mac wählt basierend auf dem Bündelbezeichner in der Datei „Info.plist“ das richtige Profil aus:

    The Signing Identity and the Provisioning Profile set to the default values of Automatic

  4. Wählen Sie bei Bedarf die Signierungsidentität und das (zuvor erstellte) Verteilungsprofil aus den Dropdownlisten aus:

    Select the Signing Identity and Distribution Profiles

  5. Klicken Sie auf die Schaltfläche OK, um die Änderungen zu speichern.

Konfigurieren der Anwendung in iTunes Connect

Sobald die Anwendung erfolgreich bereitgestellt wurde, ist der nächste Schritt das Konfigurieren der App in iTunes Connect. Dabei handelt es sich um eine Sammlung von webbasierten Tools, die unter anderem für das Verwalten von iOS-Anwendungen im App Store verwendet werden.

Ihre Xamarin.iOS-Anwendung muss ordnungsgemäß in iTunes Connect eingerichtet und konfiguriert werden, bevor sie zur Überprüfung an Apple gesendet und schließlich für den Verkauf oder als kostenlose App im App Store freigegeben werden kann.

Weitere Informationen finden Sie in der Dokumentation unter Konfigurieren einer App in iTunes Connect.

Übermitteln einer App an iTunes Connect

Sobald die Anwendung mithilfe des Verteilungsbereitstellungsprofils signiert und in iTunes Connect erstellt wurde, werden die Binärdateien der Anwendung zur Überprüfung durch Apple hochgeladen. Nach einer erfolgreichen Überprüfung durch Apple wird diese im App Store verfügbar.

Weitere Informationen zum Veröffentlichen von Anwendungen im App Store finden Sie unter Veröffentlichen im App Store.

Automatisches Zurückkopieren von App Bundles nach Windows

Beim Erstellen von iOS-Apps in Visual Studio und im Mac Build-Agent wird das APP-Bündel nicht zurück auf den Windows-Computer kopiert. Xamarin Tools für Visual Studio 7.4 führt die neue Eigenschaft CopyAppBundle ein, mit der CI-Builds APP-Bündel zurück auf Windows kopieren können.

Um diese Funktion nutzen zu können, fügen Sie die CopyAppBundle-Eigenschaft der CSPROJ-Datei unter der Eigenschaftengruppe hinzu, auf die diese Funktion angewendet werden soll. In folgendem Beispiel wird veranschaulicht, wie Sie ein APP-Bündel für einen Debugbuild, der iPhoneSimulator als Ziel verwendet, zurück auf einen Windows-Computer kopieren:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>

Zusammenfassung

In diesem Artikel wurden die wichtigsten Komponenten für das Vorbereiten einer Xamarin.iOS-Anwendung für die Verteilung im App Store behandelt.