App Store-VerteilungApp Store Distribution

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.Once a Xamarin.iOS app has been developed, the next step in the software development lifecycle is to distribute the app to users using the iTunes App Store. Dies ist die gängigste Methode zum Verteilen von Anwendungen.This is the most common way of distributing applications. Indem eine Anwendung im App Store von Apple veröffentlicht wird, kann Sie weltweit für Verbraucher verfügbar gemacht werden.By publishing an application in Apple’s App Store, it can be made available to consumers worldwide.

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.Apple has indicated that starting in March 2019, all apps and updates submitted to the App Store must have been built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later. Apps müssen ebenso die Bildschirmgrößen des iPhone XS und des iPad Pro in 12,9" unterstützen.Apps should also support the iPhone XS and 12.9" iPad Pro screen sizes.

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.If you are looking for resources in regard to the UIWebView deprecation warning (ITMS-90809) while using Xamarin.Forms, please refer to the Xamarin.Forms WebView documentation.

Das Verteilen einer Anwendung erfordert genau wie das Entwickeln einer Anwendung, dass Anwendungen mit dem entsprechenden Bereitstellungsprofil bereitgestellt werden.Distributing an application – just as with developing an application – requires that applications be provisioned using the appropriate provisioning profile. Bereitstellungsprofile sind Dateien, die Informationen zur Codesignierung sowie die Identität der Anwendung und den beabsichtigten Verteilungsmechanismus enthalten.Provisioning profiles are files that contain code signing information, as well as the identity of the application and the intended distribution mechanism. Sie enthalten auch Informationen darüber, für welche Geräte eine App bereitgestellt wird, wenn die Verteilung nicht über den App Store stattfindet.They also contain information about what devices the app can be deployed to for the non-App Store distribution.

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.To use iTunes Connect, and therefore publish an app to the App Store, you must be part of either an individual or organizational Apple Developer Program. Wenn Sie Mitglied eines Apple Developer Enterprise Programs sind, können Sie die Schritte auf dieser Seite nicht ausführen.You will not be able to follow the steps on this page if you are a member of an Apple Developer Enterprise Program.

Bereitstellen einer App für die Verteilung über den App StoreProvisioning an App for App Store Distribution

Unabhängig davon, wie Sie eine Xamarin.iOS-Anwendung veröffentlichen möchten, müssen Sie ein spezielles Verteilungsbereitstellungsprofil dafür erstellen.Regardless of how you plan to release a Xamarin.iOS application, you'll need to build a Distribution Provisioning Profile specific to it. Dieses Profil ermöglicht das digitale Signieren der Anwendung für die Veröffentlichung, sodass sie auf einem iOS-Gerät installiert werden kann.This profile allows the application to be digitally signed for release so that it can be installed on an iOS device. Ähnlich wie ein Entwicklungsbereitstellungsprofil enthält ein Verteilungsprofil Folgendes:Similar to a Development provisioning profile, a Distribution Profile will contain the following:

  • Eine App-IDAn App ID
  • Ein VerteilungszertifikatA Distribution Certificate

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.You can select the same App ID and Devices that you used for your development provisioning profile, but if you don't already have one, you will need to create a Distribution Certificate to identify your organization when submitting the app to the app store. Die Schritte zum Erstellen eines Verteilungszertifikats werden im folgenden Abschnitt beschrieben.The steps on how to create a Distribution Certificate are described in the section below.

Hinweis

Nur Team-Agents und Administratoren können Verteilungszertifikate und Bereitstellungsprofile erstellen.Only Team Agents and Admins can create Distribution Certificates and Provisioning Profiles.

Erstellen eines VerteilungszertifikatsCreating a Distribution Certificate

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

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

  3. Klicken Sie auf die Schaltfläche + , um ein neues Zertifikat zu erstellen.Click the + button to create a new Certificate.

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

    Auswählen der Option „App Store und Ad-hoc“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:Click Continue, and follow the instructions to create a Certificate Signing Request via Keychain Access:

    Eine Zertifikatsignieranforderung über Keychain-Zugriff erstellenCreate 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:Once you have created the CSR as instructed, click Continue, and upload the CSR to the Member Center:

    Zertifikatsignieranforderung in das Member Center hochladenUpload the CSR to the Member Center

  7. Klicken Sie auf Generate (Generieren), um das Zertifikat zu erstellen.Click Generate to create the certificate.

  8. Klicken Sie für das abgeschlossene Zertifikat auf Download (Herunterladen), und doppelklicken Sie auf die Datei, um sie zu installieren.Finally, Download the completed certificate and double-click on the file to install it.

  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.At this point, the certificate should be installed on the machine, but you may need to Refresh your profiles, to ensure that they are visible in Xcode.

Alternativ ist es möglich, ein Zertifikat über das Dialogfeld „Preferences“ (Einstellungen) in Xcode anzufordern.Alternatively, it is possible to request a Certificate via the Preferences dialog in Xcode. Führen Sie dazu folgende Schritte aus:To do this, follow the steps below:

  1. Wählen Sie das Team aus, und klicken Sie auf Manage Certificates… (Zertifikate verwalten...): Auswählen des Teams und Anzeigen von DetailsSelect your team, and click Manage Certificates…: Select the team and View Details

  2. Klicken Sie anschließend auf die Schaltfläche Create (Erstellen) neben iOS Distribution Certificate (iOS-Verteilungszertifikat): Erstellen eines iOS-VerteilungszertifikatsNext, click the Create button next to iOS Distribution Certificate: 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: Die Signieridentität wird generiert und ein Dialogfeld wird angezeigtDepending on your team privileges, the signing identity will be generated, as shown below, or you may have to wait until a team agent or admin approves it: The signing identity will be generated and a dialog displayed

Erstellen eines VerteilungsprofilsCreating a Distribution Profile

Erstellen einer App-IDCreating an 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.As with any other Provisioning Profile you create, an App ID is required to identify the App that you are distributing to the user's device. Wenn Sie die App-ID noch nicht erstellt haben, führen Sie die folgenden Schritte aus:If you haven't already created this, follow the steps below to create one:

  1. Navigieren Sie im Apple Developer Center zum Abschnitt Certificate, Identifiers and Profiles (Zertifikate, Bezeichner und Profile).In the Apple Developer Center browse to the Certificate, Identifiers and Profiles section. Wählen Sie unter Identifiers (Bezeichner) App IDs (App-IDs) aus.Select App IDs under Identifiers.
  2. Klicken Sie auf die Schaltfläche + , und geben Sie einen Namen ein, der Sie im Portal identifiziert.Click the + button and provide a Name which will identify it in the Portal.
  3. Das App-Präfix sollte bereits als Ihre Team-ID festgelegt sein und kann nicht geändert werden.The App prefix should be already set as your Team ID, and cannot be changed. 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:Select either an Explicit or Wildcard App ID, and enter a Bundle ID in a reverse DNS format like:
    • Explizit: com.[Domänenname].[AppName]Explicit: com.[DomainName].[AppName]
    • Platzhalter: com.[Domänenname].*Wildcard:com.[DomainName].*
  4. Wählen Sie die App-Dienste aus, die die Anwendung benötigt.Select any App Services that the app requires.
  5. Klicken Sie auf die Schaltfläche Weiter, und folgen Sie der Anleitung auf dem Bildschirm, um die neue App-ID zu erstellen.Click the Continue button and following the on screen instructions to create the new App ID.

Erstellen eines BereitstellungsprofilsCreating a Provisioning Profile

Wenn Sie die erforderlichen Komponenten zum Erstellen eines Verteilungsprofils haben, führen Sie die folgenden Schritte aus, um es zu erstellen:Once you have the required components needed for creating a Distribution Profile, follow the steps below to create it:

  1. Navigieren Sie zurück zum Apple-Bereitstellungsportal, und wählen Sie Bereitstellung > Verteilung aus:Return to the Apple Provisioning Portal and select Provisioning > Distribution:

    „Bereitstellung“ > „Verteilung“ auswählenRSelect 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:Click the + button and select the type of Distribution Profile that you want to create as App Store:

    Erstellen eines App Store-VerteilungsprofilsCreate 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:Click the Continue button and select App ID from the dropdown list that you want to create a Distribution Profile for:

    Auswahl von „App-ID“ in der DropdownlisteSelect 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:Click the Continue button and select the certificate required to sign the application:

    Auswählen des erforderlichen Zertifikat zum Signieren der AnwendungSelect 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:Click the Continue button and select the iOS devices that the Xamarin.iOS application will be allowed to run on:

    Auswählen der iOS-Geräte, auf denen die App ausgeführt werden darfSelect the iOS devices that app will be allowed to run on

  6. Klicken Sie auf die Schaltfläche Weiter, und geben Sie einen Namen für das neue Verteilungsprofil ein:Click the Continue button and enter a Name for the new Distribution Profile:

    Eingeben eines Namens für das neue VerteilungsprofilEnter 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.Click the Generate button to create the new profile and finalize the process.

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.You may have to quit Visual Studio for Mac and have Xcode refresh its list of available Signing Identities and Provisioning Profiles (by following the instructions in the Requesting Signing Identities section) before a new Distribution Profile is available in Visual Studio for Mac.

Auswählen eines Verteilungsprofils in einem Xamarin.iOS-ProjektSelecting a Distribution Profile in a Xamarin.iOS Project

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.When you are ready to do a final build of a Xamarin.iOS application for sale in the iTunes App Store, select the Distribution Profile that was created above.

Gehen Sie in Visual Studio für Mac folgendermaßen vor:In Visual Studio for Mac, do the following:

  1. Doppelklicken Sie auf den Projektnamen im Projektmappen-Explorer, um das Projekt für die Bearbeitung zu öffnen.Double-click the project name in the Solution Explorer to open it for edit.

  2. Wählen Sie aus der Dropdownliste Konfiguration die Optionen iOS-Bundle-Signierung und Release | iPhone aus:Select iOS Bundle Signing and Release | iPhone from the Configuration dropdown:

    „Release | iPhone“ in der Dropdownliste „Konfiguration“ auswählen

  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:In most cases, the Signing Identity and the Provisioning Profile can be left as their default values of Automatic and Visual Studio for Mac will choose the correct profile, based on the Bundle Identifier in the Info.plist:

    Signieridentität und Bereitstellungsprofil mit Standardwert „Automatisch“

  4. Wählen Sie bei Bedarf die Signierungsidentität und das (zuvor erstellte) Verteilungsprofil aus den Dropdownlisten aus:If required, select the Signing Identity and Distribution Profile (the one created above) from the drop-downs:

    Signieridentität und Verteilungsprofile auswählen

  5. Klicken Sie auf die Schaltfläche OK, um die Änderungen zu speichern.Click the OK button to save the changes.

Konfigurieren der Anwendung in iTunes ConnectConfiguring your Application 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.Once the application is successfully been provisioned, the next step is to configure the apps in iTunes Connect, which is a suite of web based tools for, among other things, managing iOS applications in the App Store.

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.Your Xamarin.iOS application will need to be properly setup and configured in iTunes Connect before it can be submitted to Apple for review and ultimately, be released for sale or as a free app in the App Store.

Weitere Informationen finden Sie in der Dokumentation unter Konfigurieren einer App in iTunes Connect.For more details, please see our Configuring an App in iTunes Connect documentation.

Übermitteln einer App an iTunes ConnectSubmitting an App to 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.Once the application is signed using the Distribution Provisioning Profile and the app is created in iTunes Connect, the application binary is uploaded to Apple for review. Nach einer erfolgreichen Überprüfung durch Apple wird diese im App Store verfügbar.Upon a successful review by Apple, it is made available in the App Store.

Weitere Informationen zum Veröffentlichen von Anwendungen im App Store finden Sie unter Veröffentlichen im App Store.For more information on publishing applications to the App Store, see Publishing to the App Store.

Automatisches Zurückkopieren von App Bundles nach WindowsAutomatically copy .app bundles back to 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.When building iOS apps in Visual Studio and the Mac Build agent, the .app bundle is not copied back to the Windows machine. 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.Xamarin Tools for Visual Studio 7.4 adds a new CopyAppBundle property that allows CI builds to copy .app bundles back to Windows.

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.To use this functionality, add theCopyAppBundle property to the .csproj under the property group you wish to apply this functionality to. 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:For example, the following example shows how to copy the .app bundle back to the Windows computer for a Debug build targeting the iPhoneSimulator:

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

ZusammenfassungSummary

In diesem Artikel wurden die wichtigsten Komponenten für das Vorbereiten einer Xamarin.iOS-Anwendung für die Verteilung im App Store behandelt.This article covered the key components in preparing a Xamarin.iOS application for distribution in the App Store.