Veröffentlichen einer iOS-App für den internen Vertrieb
Die interne Verteilung ermöglicht es Mitgliedern des Apple Developer Enterprise Program, Apps intern an andere Mitglieder desselben Unternehmens zu verteilen. Dies hat den Vorteil, dass keine Überprüfung im App Store erforderlich ist und die Anzahl der Geräte, auf denen eine App installiert werden kann, nicht begrenzt ist. Beachten Sie aber, dass Mitglieder des Apple Developer Enterprise Programnicht auf iTunes Connect zugreifen können und daher der Lizenznehmer für die Verteilung der App zuständig ist.
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 unternehmensinternes Bereitstellungsprofil enthält eine App-ID und ein Verteilungszertifikat. 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 Ihre Organisation zu identifizieren, falls Sie noch keins haben.
Das Verfahren zur Erstellung eines Bereitstellungsprofils für die innerbetriebliche Verteilung ist wie folgt:
- Ein Verteilungszertifikat erstellen Weitere Informationen finden Sie unter Verteilungszertifikat erstellen.
- Erstellen einer App-ID Weitere Informationen finden Sie unter Erstellen einer App ID.
- 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:
- Gehen Sie in Visual Studio zu Tools > Optionen > Xamarin > Apple Accounts.
- Wählen Sie im Dialog Apple-Entwicklerkonten ein Team aus und klicken Sie auf die Schaltfläche Details anzeigen ….
- 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 firmeninternes Vertriebsbereitstellungsprofil ermöglicht es, Ihre .NET MAUI iOS-App für die Veröffentlichung digital zu signieren. Ein unternehmensinternes Bereitstellungsprofil enthält eine App-ID und ein Verteilungszertifikat.
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 Bündelbezeichner. 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
Navigieren Sie in Ihrem Apple-Developerkonto zu Zertifikaten, IDs und Profilen.
Wählen Sie auf der Seite Zertifikate, Bezeichner und Profile die Registerkarte Bezeichner aus.
Klicken Sie auf der Seite Kennungen auf die Schaltfläche +, um eine neue App ID zu erstellen.
Wählen Sie auf der Seite Register a new identifier das Optionsfeld App IDs aus, bevor Sie auf die Schaltfläche Weiter klicken:
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 Reverse-DNS-Format ein:
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.
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.
Klicken Sie auf der Seite Registrieren einer App-ID auf die Schaltfläche Weiter.
Geben Sie auf der Seite Eine App-ID registrieren Ihre Bereitstellungsdaten ein, wenn Sie diese haben, bevor Sie auf die Schaltfläche Weiter klicken.
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 eine Verteilung:
Wählen Sie auf der Seite "Zertifikate, Bezeichner und Profile" Ihres Apple-Developerkontos die Registerkarte "Profile" aus.
Auf der Registerkarte Profile klicken Sie auf die Schaltfläche +, um ein neues Profil zu erstellen.
Wählen Sie auf der Seite Registrieren eines neuen Bereitstellungsprofils das Optionsfeld Intern aus, bevor Sie auf die Schaltfläche Weiter klicken:
Wählen Sie auf der Seite Ein Bereitstellungsprofil erstellen in der Dropdown-Liste App ID die App ID aus, die Sie zuvor erstellt haben, bevor Sie auf die Schaltfläche Weiter klicken:
Wählen Sie auf der Seite Ein Bereitstellungsprofil erstellen das Optionsfeld aus, das Ihrem Verteilungszertifikat entspricht, bevor Sie auf die Schaltfläche Weiter klicken:
Geben Sie auf der Seite Ein Bereitstellungsprofil erstellen einen Namen für das Provisioning-Profil ein, bevor Sie auf die Schaltfläche Erstellen klicken:
Hinweis
Notieren Sie sich den Namen des Bereitstellungsprofils, da es beim Signaturen Ihrer App erforderlich ist.
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:
- Gehen Sie in Visual Studio zu Tools > Optionen > Xamarin > Apple Accounts.
- Wählen Sie im Dialogfeld Apple-Entwicklerkonten Ihr Team aus und klicken Sie auf Details anzeigen.
- Ü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.
- 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 für die interne Verteilung veröffentlichen:
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.
Verwenden Sie in der Visual Studio-Symbolleiste das Dropdown-Menü Debug-Ziel, um iOS-Remote-Geräte und dann Remote-Gerät auszuwählen:
Verwenden Sie in der Visual Studio-Symbolleiste das Dropdown-Menü Lösungskonfiguration, um von der Debug-Konfiguration zur Release-Konfiguration zu wechseln:
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:
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.
Klicken Sie im Solution Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Veröffentlichen … aus:
Der Archiv-Manager wird geöffnet und Visual Studio beginnt mit der Archivierung Ihres App-Bundles:
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.
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:
Das Dialogfeld Verteilen – Kanal auswählen wird angezeigt.
Wählen Sie im Dialogfeld Verteilen – Kanal auswählen die Schaltfläche Unternehmen aus:
Wählen Sie im Dialogfeld Verteilen – Signaturidentität Ihre Signaturidentität und Ihr Bereitstellungsprofil aus:
Hinweis
Sie sollten die Signaturidentität und das Bereitstellungsprofil verwenden, die für Ihre App und den ausgewählten Vertriebskanal erstellt wurden.
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.
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.
Interne Apps können über eine sichere Website oder über Mobile Device Management (MDM) verteilt werden. Bei beiden Ansätzen muss die App für die Verteilung vorbereitet werden, wozu auch die Erstellung eines Manifests gehört. Weitere Informationen finden Sie unter Verteilen von proprietären internen Apps auf Apple-Geräten auf support.apple.com.