4. April 2019

Apps im App Store veröffentlichen

Überblick

Für die Veröffentlichung von Apps im App Store ist die Mitgliedschaft im Apple-Entwicklerprogramm für 99€/Jahr notwendig. Die App wird dann über die App-Store-Connect-Seite mit Beschreibung und Screenshots eingepflegt. Auf dieser Grundlage kann ein Xcode-Archiv-Build erstellt, für die Verteilung im App Store mit einem Distribution-Zertifikat signiert und zu App Store Connect hochgeladen werden. Dort kann die App für die Prüfung durch Apple-Reviewer eingereicht und so im App Store veröffentlicht werden.

Einrichten der App in App Store Connect

Die App ist einmalig in App Store Connect einzurichten. Dabei sind folgende Angaben zu machen:

Für jede Version der App sind folgende Eigenschaften anzugeben:

Zudem müssen für den Reviewer Kontaktinformationen, Hinweise und ggf. Zugangsdaten für einen Demo-Account hinterlegt werden.

App-Archiv bauen

Für den App Store muss die App in Xcode mittels Product » Archive gebaut werden. Dabei muss ein iOS-Gerät oder Build only Device - Generic iOS Device ausgewählt werden (der Menüeintrag ist ausgegraut, wenn der Simulator ausgewählt ist). Bei diesem Build ist zu beachten, dass hier die Build-Konfiguration Release verwendet wird, sichtbar unter Edit scheme:

Build Scheme Release

Dies bedeutet, dass veränderte Build-Einstellungen wirksam werden. So wird die App im Debug-Modus ohne Compiler-Optimierungen und nur für die aktive Architektur gebaut:

Build Settings Debug/Release

Provisioning Profile für Distribution erstellen und App zu App Store Connect hochladen

Für den Upload der App muss diese signiert werden. Der Signaturprozess funktioniert analog zum Signieren der App beim Starten auf Geräten (siehe Signaturprozess und Ausführen von Apps auf dem Gerät). Das dazu benötigte Zertifikat für iOS Distribution kann in den Xcode-Einstellungen unter Accounts » Manage Certificates... erzeugt werden:

Distribution-Zertifikat unter Xcode - Preferences - Accounts anlegen

Nach einem Archive-Build kann dieser aus Xcode heraus über den Xcode Organizer zu App Store Connect übertragen werden:

Upload to App Store

App-Review

Nach dem Hochladen ist mit einigen Tagen Wartezeit zu rechnen, bis die App von einem Apple-Reviewer auf die Einhaltung der App Store Review Guidelines hin überprüft wird. Über eine Ablehnung wird man per E-Mail informiert:

Über das Resolution Center erhält man eine Beschreibung des aufgetretenen Problems mit einem Verweis auf die App Store Review Guidelines:

Häufiger auftretende Gründe für eine Zurückweisung sind:

Tutorial 1: Production-Provisioning-Profile erstellen

  1. Laden Sie den Start-Stand von dem Flashcards-Beispielprojekt: Flashcards.zip.

  2. Wählen Sie unter Xcode » Preferences » Accounts Ihre Apple-ID aus bzw. fügen Sie sie hinzu. Lassen Sie sich mit Manage Certificates... die Zertifikate anzeigen und erstellen Sie mit Create ein Zertifikat für iOS Distribution:

    Distribution-Zertifikat unter Xcode - Preferences - Accounts anlegen
  3. Loggen Sie sich im Apple Developer Account ein und prüfen Sie unter Certificates » Production, dass von Xcode ein Zertifikat für iOS Distribution angelegt wurde:

    Zertifikat iOS Distribution
  4. Registrieren Sie unter Certificates, Identifiers & Profiles » Identifiers » App-IDs eine App-ID für die App, sofern Sie dies nicht bereits im Kapitel zu In-App-Käufen erledigt haben:

    Apple Developer Account: App ID

Tutorial 2: Einrichten der App in App Store Connect

  1. Loggen Sie sich in App Store Connect ein und erstellen Sie unter My Apps » + » New App eine neue iOS-App, sofern Sie dies nicht bereits im Kapitel zu In-App-Käufen erledigt haben:

    App Store Connect: Neue App anlegen App in App Store Connect hinzufügen

  2. Starten Sie die App im Simulator und speichern Sie mit File » Save Screenshot (Cmd + S) einen Screenshot:

    Screenshot Simulator

    Alternativ verwenden Sie New Screenshot unter Window » Devices, um einen Screenshot von der auf dem iPhone laufenden App anzufertigen:

    Screenshot vom iPhone
  3. Füllen Sie alle Pflichtfelder mit Angaben zu der App aus, beispielsweise:

    • Version: 1.0
    • Copyright: (C) 2016 Otto Mustermann
    • Category: Education
    • Ratings: None
    • Description: Improve your knowledge systematically using the Flashcards app!
    • Keywords: flashcards,vocabulary,english,spanish,french
    • Support URL: http://www.example.org/
    • First Name, Last Name, Email Address, Phone Number
    • Large App Icon: Icons-iTunesArtwork aus assets.zip

Tutorial 3: App bauen und im App Store hochladen

  1. Prüfen Sie im Target unter Signing » Team dass die Option Automatically manage signing aktiviert ist und wählen Sie Ihr Team aus:

    Code Signing Settings
  2. Prüfen Sie die Build Settings für das Projekt und das Target. Code Signing Identity sollte sowohl für Debug und Release-Build auf iOS Developer konfiguriert sein, so dass Sie auch das Release-Build noch auf einem Testgerät testen können:

    Code Signing Settings
  3. Wählen Sie über die Xcode-Schema-Auswahl ein iOS-Gerät oder Build Only Device » Generic iOS Device:

    iOS Gerät auswählen
  4. Erstellen Sie mit Product » Archive einen Release-Build der App (dieser Menüeintrag ist ausgegraut, wenn der Simulator ausgewählt ist). Das Build-Ergebnis wird im Organizer gezeigt.

  5. Löschen Sie die App von Ihrem Testgerät. Wählen Sie Show in Finder für das gebaute Binary, um das gebaute Xcode-Archiv „Flashcards.xcarchive“ anzuzeigen:

    Xcode-Archive im Finder öffnen
  6. Wählen Sie im Finder im Kontextmenü Show Package contents und wählen Sie Products » Applications » Flashcards aus. Ziehen Sie dieses Binary in den Xcode Organizer unter Devices » Ihr Testgerät » Applications, um die App, so wie sie gleich in den App Store hochgeladen wird, auf Ihrem Testgerät zu installieren:

  7. Testen Sie die App auf dem Gerät.

  8. Wählen Sie im Organizer » Distribute App um die App in den App Store hochzuladen:

    Upload to App Store
  9. Folgen Sie dem Assistenten, belassen Sie alle Optionen wie von Xcode vorgeschlagen und bestätigen Sie den Upload der App:

    Upload zum App Store
  10. Der Build wird nun zu App Store Connect übermittelt:

    Xcode: Upload Successful

  11. Nach kurzer Zeit kann der Build in App Store Connect ausgewählt werden:

    Build für App Store in App Store Connect auswählen

  12. Mit Zur Prüfung übermitteln würde die App zum Review bei Apple eingereicht werden:

    Zur Prüfung übermitteln