Freigeben über


Veröffentlichen einer iOS-App zur Ad-hoc-Verteilung

Die Ad-hoc-Verteilung wird in erster Linie für das Testen von Apps innerhalb einer großen Gruppe von Personen verwendet und ist für das Apple Developer Program und das Apple Developer Enterprise Program verfügbar. Ein weiterer Appsfall für die Ad-hoc-Verteilung ist die Verteilung innerhalb eines Unternehmens, wenn App Store Connect keine Option ist.

Die Ad-hoc-Verteilung hat den Vorteil, dass keine Genehmigung des App Stores erforderlich ist und die Apps mit Apple Configurator installiert werden. Allerdings ist die Anzahl der Geräte pro Mitgliedsjahr auf 100 begrenzt, sowohl für die Entwicklung als auch für den Vertrieb, und die Geräte müssen zu Ihrem Apple-Entwicklerkonto hinzugefügt werden.

Für die Verteilung einer iOS-App muss die App mithilfe eines Bereitstellungsprofils bereitgestellt werden. Bereitstellungsprofile sind Dateien, die Informationen zum Codesignieren sowie die Identität der App und den beabsichtigten Verteilungsmechanismus enthalten.

Um eine .NET Multi-Platform App UI (.NET MAUI)-iOS-App zu verteilen, müssen Sie ein spezifisches Verteilungsbereitstellungsprofil erstellen. Dieses Profil ermöglicht das digitale Signaturen der App für die Veröffentlichung, sodass sie auf einem iOS-Gerät installiert werden kann. Ein Ad-hoc-Verteilungs-Bereitstellungsprofil enthält eine App-ID, ein Verteilungszertifikat und eine Liste der Geräte, die die App installieren können. Sie können dieselbe App-ID verwenden, die Sie beim Bereitstellen Ihrer App auf einem Gerät zum Testen verwendet haben. Sie müssen jedoch ein Verteilungszertifikat erstellen, um sich oder Ihre Organisation zu identifizieren, wenn Sie noch kein Zertifikat besitzen.

Das Verfahren zur Erstellung eines Ad-hoc-Verteilungs-Bereitstellungsprofils ist wie folgt:

  1. Ein Verteilungszertifikat erstellen Weitere Informationen finden Sie unter Verteilungszertifikat erstellen.
  2. Fügen Sie Ihrem Apple-Entwicklerkonto Geräte hinzu. Weitere Informationen finden Sie unter Ein Gerät hinzufügen.
  3. Erstellen einer App-ID Weitere Informationen finden Sie unter Erstellen einer App ID.
  4. Erstellen eines Bereitstellungsprofils Zusätzliche Informationen finden Sie unter Ein Bereitstellungsprofil erstellen.

Ein Verteilungszertifikat erstellen

Ein Verteilungszertifikat wird verwendet, um Ihre Identität zu bestätigen. Bevor Sie ein Distributionszertifikat erstellen, sollten Sie sicherstellen, dass Sie Ihr Apple-Entwicklerkonto zu Visual Studio hinzugefügt haben. Weitere Informationen finden Sie unter Apple-Kontoverwaltung.

Sie müssen nur ein Verteilungszertifikat erstellen, wenn Sie noch kein Zertifikat besitzen. Das Verteilungszertifikat muss mit der Apple-ID für Ihr Apple-Entwicklerkonto erstellt werden.

So erstellen Sie ein Verteilungszertifikat in Visual Studio:

  1. Gehen Sie in Visual Studio zu Tools > Optionen > Xamarin > Apple Accounts.
  2. Wählen Sie im Dialog Apple-Entwicklerkonten ein Team aus und klicken Sie auf die Schaltfläche Details anzeigen ….
  3. Klicken Sie im Dialog Details auf Zertifikat erstellen und wählen Sie iOS Distribution aus. Eine neue Signaturidentität wird erstellt und mit Apple synchronisiert, sofern Sie über die richtigen Berechtigungen verfügen.

Wichtig

Der private Schlüssel und das Zertifikat, aus denen Ihre Signaturidentität besteht, werden auch in Keychain Access auf Ihrem Mac-Build-Host exportiert, vorausgesetzt, dass die IDE damit gekoppelt ist. Weitere Informationen finden Sie unter Pair to Mac für die iOS-Entwicklung.

Grundlegendes zu Zertifikatschlüsselpaaren

Ein Verteilungsprofil enthält Zertifikate, die zugehörigen Schlüssel und alle mit Ihrem Apple-Entwicklerkonto verbundenen Bereitstellungsprofile. Es gibt zwei Versionen eines Verteilungsprofils – eines ist in Ihrem Apple-Entwicklerkonto vorhanden, und das andere befindet sich auf einem lokalen Computer. Der Unterschied zwischen den beiden ist der Schlüsseltyp, den sie enthalten: Das Portalprofil enthält alle öffentlichen Schlüssel, die Ihren Zertifikaten zugeordnet ist, während die Kopie auf Ihrem lokalen Mac alle privaten Schlüssel enthält. Damit die Zertifikate gültig sind, müssen die Schlüsselpaare übereinstimmen.

Warnung

Der Verlust des Zertifikats und der zugehörigen Schlüssel kann äußerst ungünstig sein, da vorhandene Zertifikate gesperrt und zugeordnete Geräte erneut bereitgestellt werden müssen, einschließlich der für die Ad-hoc-Bereitstellung registrierten Geräte.

Erstellen eines Verteilungsprofils

Ein Ad-hoc-Profil für die Bereitstellung der Verteilung ermöglicht es, Ihre .NET MAUI iOS-App für die Freigabe digital zu signieren, sodass sie auf bestimmten iOS-Geräten installiert werden kann. Ein Ad-hoc-Verteilungs-Bereitstellungsprofil enthält eine App-ID, ein Verteilungszertifikat und eine Liste der Geräte, die die App installieren können. Auf den Geräten, die Sie unterstützen möchten, muss eine iOS-Version laufen, die von Xcode unterstützt wird.

Hinzufügen eines Geräts

Wenn Sie ein Bereitstellungsprofil erstellen, muss das Profil angeben, auf welchen Geräten die App ausgeführt werden kann. Bevor Sie ein Gerät auswählen, das zu einem Bereitstellungsprofil hinzugefügt werden soll, müssen Sie das Gerät zunächst zu Ihrem Apple-Entwicklerkonto hinzufügen. Sie können das Gerät mit den folgenden Schritten hinzufügen:

  1. Schließen Sie das zu provisionierende Gerät mit einem USB-Kabel an Ihren lokalen Mac an.

  2. Öffnen Sie Xcode, und navigieren Sie zu Fenster > Geräte und Simulatoren.

  3. Wählen Sie in Xcode die Registerkarte Geräte aus, und wählen Sie das Gerät aus der Liste der angeschlossenen Geräte aus.

  4. Kopieren Sie in Xcode den Wert Bezeichner in die Zwischenablage:

    Xcode-Fenster mit Geräten und Simulatoren und hervorgehobenem iOS-Bezeichner

  5. Gehen Sie in einem Webbrowser zum Abschnitt Geräte Ihres Apple-Entwicklerkontos und klicken Sie auf die Schaltfläche +.

  6. Stellen Sie auf der Seite Neues Gerät registrieren die richtige Plattform ein und geben Sie einen Namen für das neue Gerät an. Fügen Sie dann den Bezeichner aus der Zwischenablage in das Feld Geräte-ID (UDID) ein und klicken Sie auf Weiter:

    Registrieren Sie ein Gerät, indem Sie es benennen und seinen eindeutigen Gerätebezeichner eingeben.

  7. Überprüfen Sie auf der Seite Neues Gerät registrieren die Informationen und klicken Sie dann auf Registrieren.

Wiederholen Sie die vorherigen Schritte für jedes iOS-Gerät, auf dem Sie eine .NET MAUI iOS-App bereitstellen möchten.

Erstellen einer App-ID

Eine App ID ist erforderlich, um die App zu identifizieren, die Sie verteilen. Eine App ID ähnelt einer Reverse-DNS-Zeichenfolge, die eine App eindeutig identifiziert und mit dem Bündelbezeichner für Ihre App identisch sein sollte. Sie können dieselbe App-ID verwenden, die Sie beim Bereitstellen Ihrer App auf einem Gerät zum Testen verwendet haben.

Es gibt zwei Arten von App ID:

  • Platzhalter Mit einer App-ID mit Platzhalter können Sie eine einzige App-ID verwenden, um mehrere Apps abzugleichen, und sie hat normalerweise die Form com.domainname.*. Eine Wildcard-App-ID kann für die Verteilung mehrerer Apps verwendet werden und sollte für Apps verwendet werden, die keine app-spezifischen Funktionen ermöglichen.
  • Explizit. Eine explizite App-ID ist eindeutig für eine einzelne App und hat normalerweise die Form com.domainname.myid. Eine explizite App-ID ermöglicht die Verteilung einer App mit einem passenden Bundle-Identifikator. Explizite App IDs werden in der Regel für Apps verwendet, die app-spezifische Funktionen wie Apple Pay oder Game Center aktivieren. Weitere Informationen finden Sie unter Funktionen.

Formular zum Erstellen einer neuen App ID

  1. Navigieren Sie in Ihrem Apple-Developerkonto zu Zertifikaten, IDs und Profilen.

  2. Wählen Sie auf der Seite Zertifikate, Bezeichner und Profile die Registerkarte Bezeichner aus.

  3. Klicken Sie auf der Seite Kennungen auf die Schaltfläche +, um eine neue App ID zu erstellen.

  4. Wählen Sie auf der Seite Register a new identifier das Optionsfeld App IDs aus, bevor Sie auf die Schaltfläche Weiter klicken:

    Erstellen einer App-ID

  5. Wählen Sie auf der Seite Einen neuen Bezeichner registrieren die Option App aus, bevor Sie auf die Schaltfläche Weiter klicken:

    Registrieren einer App-ID.

  6. Geben Sie auf der Seite Registrieren einer App-ID eine Beschreibung ein und wählen Sie entweder die Optionsschaltfläche Explizit oder Wildcard Bundle-ID aus. Geben Sie dann die Bundle-ID für Ihre App im umgekehrten DS-Format ein:

    Geben Sie den Bündelbezeichner für die App an.

    Wichtig

    Die eingegebene Bundle-ID muss mit dem Bundle-Bezeichner in der Datei Info.plist in Ihrem Appsprojekt übereinstimmen.

    Der Bundle-Bezeichner für eine .NET MAUI-App wird in der Projektdatei als die Eigenschaft Anwendungs-ID gespeichert. Klicken Sie in Visual Studio im Solution Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Eigenschaften aus. Navigieren Sie dann zur Registerkarte MAUI Shared > General. Das Feld Apps-ID listet den Bundle-Identifikator auf.

    Wenn der Wert des Feldes Apps-ID aktualisiert wird, wird der Wert des Bundle-Bezeichners in der Info.plist automatisch aktualisiert.

  7. Wählen Sie auf der Seite Eine App ID registrieren alle Funktionen aus, die die App verwendet. Alle Funktionen müssen sowohl auf dieser Seite als auch in der Datei Entitlements.plist in Ihrem Appsprojekt konfiguriert werden. Weitere Informationen finden Sie unter Fähigkeiten und Berechtigungen.

  8. Klicken Sie auf der Seite Registrieren einer App-ID auf die Schaltfläche Weiter.

  9. Auf der Seite Bestätigen Sie Ihre App-ID klicken Sie auf die Schaltfläche Registrieren.

Erstellen eines Bereitstellungsprofils

Nachdem die App-ID erstellt wurde, sollten Sie ein Verteilungsbereitstellungsprofil erstellen. Dieses Profil ermöglicht das digitale Signaturen der App für die Veröffentlichung, sodass sie auf einem iOS-Gerät installiert werden kann.

So erstellen Sie ein Bereitstellungsprofil für die Ad-hoc-Verteilung:

  1. Wählen Sie auf der Seite "Zertifikate, Bezeichner und Profile" Ihres Apple-Developerkontos die Registerkarte "Profile" aus.

  2. Auf der Registerkarte Profile klicken Sie auf die Schaltfläche +, um ein neues Profil zu erstellen.

  3. Wählen Sie auf der Seite Ein neues Bereitstellungsprofil registrieren das Optionsfeld Ad Hoc aus, bevor Sie auf die Schaltfläche Weiter klicken:

    Registrieren Sie ein Bereitstellungsprofil zur Ad-hoc-Verteilung.

  4. Wählen Sie auf der Seite Bereitstellungsprofil erstellen in der Dropdown-Liste App-ID die App-ID aus, die Sie zuvor erstellt haben, und wählen Sie aus, ob ein Offline-Profil erstellt werden soll, bevor Sie auf die Schaltfläche Weiter klicken:

    Wählen Sie Ihre App-ID aus.

  5. Wählen Sie auf der Seite Ein Bereitstellungsprofil erstellen das Optionsfeld aus, das Ihrem Verteilungszertifikat entspricht, bevor Sie auf die Schaltfläche Weiter klicken:

    Wählen Sie Ihr Verteilungszertifikat aus.

  6. Wählen Sie auf der Seite Erstellen eines Bereitstellungsprofils die Geräte aus, auf denen die App installiert werden soll, und klicken Sie dann auf die Schaltfläche Weiter.

    Screenshot des Hinzufügens eines Geräts zu einem Bereitstellungsprofil.

  7. Geben Sie auf der Seite Ein Bereitstellungsprofil erstellen einen Namen für das Provisioning-Profil ein, bevor Sie auf die Schaltfläche Erstellen klicken:

    Generieren Sie das Bereitstellungsprofil.

    Hinweis

    Notieren Sie sich den Namen des Bereitstellungsprofils, da es beim Signaturen Ihrer App erforderlich ist.

  8. Klicken Sie auf der Seite Erstellen eines Bereitstellungsprofils optional auf die Schaltfläche Herunterladen, um Ihr Bereitstellungsprofil herunterzuladen.

    Hinweis

    Es ist nicht erforderlich, Ihr Bereitstellungsprofil jetzt herunterzuladen. Stattdessen führen Sie dies in Visual Studio aus.

Herunterladen von Bereitstellungsprofilen in Visual Studio

Nachdem Sie in Ihrem Apple-Entwicklerkonto ein neues Bereitstellungsprofil erstellt haben, können Sie es mit Visual Studio herunterladen, damit es für die Signierung Ihrer App zur Verfügung steht:

  1. Gehen Sie in Visual Studio zu Tools > Optionen > Xamarin > Apple Accounts.
  2. Wählen Sie im Dialogfeld Apple-Entwicklerkonten Ihr Team aus und klicken Sie auf Details anzeigen.
  3. Überprüfen Sie im Dialog Details, ob das neue Profil in der Liste Bereitstellungsprofile angezeigt wird. Möglicherweise müssen Sie Visual Studio neu starten, um die Liste zu aktualisieren.
  4. Klicken Sie im Dialog Details auf Alle Profile herunterladen.

Die Bereitstellungsprofile werden unter Windows heruntergeladen und in Ihren Mac-Buildhost exportiert, wenn die IDE mit ihr gekoppelt ist. Weitere Informationen finden Sie unter Pair to Mac für die iOS-Entwicklung.

Veröffentlichen der App

Visual Studio kann eine .NET MAUI iOS-App zur Ad-hoc-Verteilung veröffentlichen:

  1. Stellen Sie in Visual Studio sicher, dass die IDE mit einem Mac Build-Host gekoppelt ist. Weitere Informationen finden Sie unter Pair to Mac für die iOS-Entwicklung.

  2. Verwenden Sie in der Visual Studio-Symbolleiste das Dropdown-Menü Debug-Ziel, um iOS-Remote-Geräte und dann Remote-Gerät auszuwählen:

    Wählen Sie Ihr Remotegerät in Visual Studio aus.

  3. Verwenden Sie in der Visual Studio-Symbolleiste das Dropdown-Menü Lösungskonfiguration, um von der Debug-Konfiguration zur Release-Konfiguration zu wechseln:

    Wählen Sie die Releasekonfiguration in Visual Studio aus.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihren Projektknoten, und wählen Sie Eigenschaften aus. Navigieren Sie dann zur Registerkarte iOS Bundle Signing und stellen Sie sicher, dass Scheme auf Manual Provisioning, Signing identity auf Distribution (Automatic) und Provisioning profile auf Automatic gesetzt ist:

    Screenshot der Registerkarte

    Diese Einstellungen stellen sicher, dass Visual Studio das richtige Bereitstellungsprofil auf der Grundlage des Bundle-Bezeichners in Info.plist auswählt (der mit dem Wert der Eigenschaft Application ID in Ihrer Projektdatei identisch ist). Alternativ können Sie die Signaturidentität auf das entsprechende Distributionszertifikat und das Bereitstellungsprofil auf das Profil setzen, das Sie in Ihrem Apple-Entwicklerkonto erstellt haben.

  5. Klicken Sie im Solution Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Veröffentlichen … aus:

    Wählen Sie das Menüelement

    Der Archiv-Manager wird geöffnet und Visual Studio beginnt mit der Archivierung Ihres App-Bundles:

    Screenshot des Archiv-Managers in Visual Studio.

    Der Archivierungsprozess signiert die App mit dem Zertifikat und den Bereitstellungsprofilen, die Sie auf der Registerkarte iOS Bundle Signing für die ausgewählte Lösungskonfiguration angegeben haben.

  6. Im Archiv-Manager stellen Sie nach erfolgreicher Archivierung sicher, dass Ihr Archiv ausgewählt ist, und wählen Sie dann die Schaltfläche Verteilen … aus, um mit der Paketierung Ihrer App für die Verteilung zu beginnen:

    Screenshot des Archiv-Managers in Visual Studio, nachdem die Archivierung abgeschlossen ist.

    Das Dialogfeld Verteilen – Kanal auswählen wird angezeigt.

  1. Wählen Sie im Dialog Verteilen – Kanal auswählen die Schaltfläche Ad Hoc aus:

    Screenshot der Auswahl eines Verteilungskanals im Verteilungsdialogfeld.

  2. Wählen Sie im Dialogfeld Verteilen – Signaturidentität Ihre Signaturidentität und Ihr Bereitstellungsprofil aus:

    Screenshot der Auswahl einer Signaturidentität im Verteilungsdialogfeld.

    Hinweis

    Sie sollten die Signaturidentität und das Bereitstellungsprofil verwenden, die für Ihre App und den ausgewählten Vertriebskanal erstellt wurden.

  3. Wählen Sie im Dialog Verteilen – Signaturidentität die Schaltfläche Speichern unter aus, und geben Sie einen Dateinamen ein. Ihre App wird dann neu signiert und in einer .ipa Datei in Ihrem Dateisystem veröffentlicht.

Die App kann dann mit Apple Configurator verteilt werden. Weitere Informationen finden Sie im Benutzerhandbuch zum Apple Configurator auf support.apple.com.

Informationen zum Veröffentlichen einer iOS-App mithilfe der Befehlszeilenschnittstelle (Command Line Interface, CLI) finden Sie unter Veröffentlichen einer iOS-App mithilfe der Befehlszeile.