Freigeben über


Manuelle Bereitstellung für iOS-Apps

Die manuelle Bereitstellung ist ein Ansatz für die Bereitstellung einer .NET Multi-Platform App UI (.NET MAUI)-iOS-App auf einem Gerät, auf dem Sie die vollständigen Kontrolle über die bereitstellungsdaten haben, die erstellt werden. Mit diesem Ansatz erstellen und verwalten Sie Signaturidentitäten, App-IDs und Bereitstellungsprofile in Ihrem Apple-Entwicklerkonto und müssen diese Daten dann in Visual Studio herunterladen. Bevor Sie den manuellen Bereitstellungsprozess starten, sollten Sie sicherstellen, dass Sie Ihr Apple-Entwicklerkonto zu Visual Studio hinzugefügt haben. Weitere Informationen finden Sie unter Apple-Kontoverwaltung.

Entwicklungsteams, Zertifikate und Profile können alle verwaltet werden, indem Sie auf den Abschnitt "Zertifikate, Bezeichner und Profile " Ihres Apple-Entwicklerkontos zugreifen.

Erstellen eines Signaturzertifikats

Bei der manuellen Bereitstellung besteht der erste Schritt beim Einrichten eines Entwicklungsgeräts darin, ein Signaturzertifikat zu erstellen, das aus einem Entwicklungszertifikat und einem privaten Schlüssel besteht.

Entwicklungszertifikate und die zugehörigen Schlüssel richten Ihre Identität mit Apple ein und ordnen Sie bestimmten Geräten und Profilen für die Entwicklung zu. Dies ist analog zum Hinzufügen Ihrer digitalen Signatur zu Ihren Apps. Apple verwendet diese Zertifikate, um sicherzustellen, dass Sie Ihre Apps nur auf bestimmten Geräten bereitstellen können.

Wichtig

Sie können jeweils nur über zwei iOS-Entwicklungszertifikate verfügen. Wenn Sie weitere erstellen möchten, müssen Sie ein vorhandenes widerrufen. Alle Computer, die ein gesperrtes Zertifikat verwenden, können ihre App nicht signieren.

Nachdem Sie Ihr Apple-Entwicklerkonto zu Visual Studio hinzugefügt haben, müssen Sie ein Signaturzertifikat generieren.

  1. Wechseln Sie in Visual Studio zu extras Options >> Xamarin > Apple Accounts.
  2. Wählen Sie im Dialogfeld "Apple-Entwicklerkonten " ein Team und dann " Details anzeigen" aus.
  3. Wählen Sie im Dialogfeld "Details" die Option "Zertifikat-iOS-Entwicklung> erstellen" aus. Eine neue Signaturidentität wird erstellt und mit Apple synchronisiert, wenn Sie über die richtigen Berechtigungen verfügen.

Wichtig

Der private Schlüssel und das Zertifikat, aus dem Ihre Signaturidentität besteht, werden auch in den Schlüsselbundzugriff auf Ihrem Mac-Buildhost exportiert, vorausgesetzt, die IDE ist gekoppelt. Weitere Informationen finden Sie unter Mit Mac für die iOS-Entwicklung koppeln.

Grundlegendes zu Zertifikatschlüsselpaaren

Ein Entwicklerprofil enthält Zertifikate, die zugehörigen Schlüssel und alle Bereitstellungsprofile, die dem Apple-Entwicklerkonto zugeordnet sind. Es gibt zwei Versionen eines Entwicklerprofils – eines ist in Ihrem Apple-Entwicklerkonto vorhanden, und das andere befindet sich auf einem lokalen Computer. Der Unterschied zwischen den beiden Schlüsseln besteht darin, welche Art von Schlüsseln sie enthalten: Das Profil in Ihrem Apple-Entwicklerkonto enthält alle öffentlichen Schlüssel, die Ihren Zertifikaten zugeordnet sind, während die Kopie auf Ihrem lokalen Computer alle privaten Schlüssel enthält. Damit Zertifikate gültig sind, müssen die Schlüsselpaare übereinstimmen.

Warnung

Der Verlust des Zertifikats und der zugehörigen Schlüssel kann unglaublich störend sein, da vorhandene Zertifikate widerrufen und alle zugehörigen Geräte erneut bereitgestellt werden müssen. Nachdem Sie ein Entwicklungszertifikat erfolgreich eingerichtet haben, exportieren Sie eine Sicherungskopie, und speichern Sie sie an einem sicheren Ort. Weitere Informationen dazu finden Sie unter Exportieren von Entwicklerkonten auf help.apple.com.

Bereitstellen eines iOS-Geräts für die Entwicklung

Nach dem Erstellen eines Signaturzertifikats müssen Sie ein Entwicklungsbereitstellungsprofil einrichten, damit es möglich ist, Ihre App auf einem Gerät bereitzustellen. Das Gerät muss eine Version von iOS ausführen, die von Xcode unterstützt wird.

Hinzufügen eines Geräts

Wenn Sie ein Bereitstellungsprofil erstellen, muss das Profil angeben, welche Geräte die App ausführen können. Bevor Sie ein Gerät auswählen, das einem Bereitstellungsprofil hinzugefügt werden soll, müssen Sie das Gerät zuerst Ihrem Apple-Entwicklerkonto hinzufügen. Sie können das Gerät mit den folgenden Schritten hinzufügen:

  1. Verbinden das Gerät, das mit einem USB-Kabel auf Ihrem lokalen Mac bereitgestellt werden soll.

  2. Öffnen Sie Xcode, und navigieren Sie zu Fenstergeräten > und Simulatoren.

  3. Wählen Sie in Xcode die Registerkarte "Geräte " und dann das Gerät aus der Liste der verbundenen Geräte aus.

  4. Kopieren Sie in Xcode den Bezeichnerwert in die Zwischenablage:

    Xcode devices and simulator window with the iOS identifier string location highlighted.

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

  6. Legen Sie auf der Seite "Neues Gerät registrieren" die richtige Plattform fest, 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":

    Register a device by naming it and entering its unique device identifier.

  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

Nachdem Sie Ihrem Apple-Entwicklerkonto ein Gerät hinzugefügt haben, sollten Sie eine App-ID erstellen. 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.

Wichtig

Der Bundle-Identifikator für eine .NET MAUI-Anwendung wird in der Projektdatei als Anwendungs-ID-Eigenschaft gespeichert:

  • Klicken Sie in Visual Studio im Solution Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Eigenschaften. Navigieren Sie dann zur Registerkarte MAUI Shared > Allgemein. Das Feld Anwendungs-ID listet den Bundle-Identifikator auf.
  • Klicken Sie in Visual Studio für Mac im Lösungsfenster mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Eigenschaften. Wählen Sie dann im Fenster Projekteigenschaften die Registerkarte Build >App Info. Das Feld Anwendungs-ID listet den Bundle-Identifikator auf.

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

Es gibt zwei Arten von App-ID:

  • Platzhalter Mit einer Wild Karte-App-ID können Sie eine einzelne App-ID verwenden, um mit mehreren Apps übereinzugleichen, und in der Regel wird die Form com.domainname.*verwendet. Eine wild Karte App-ID kann verwendet werden, um die meisten Apps auf einem Gerät zu installieren, und sollte für Apps verwendet werden, die keine appspezifischen Funktionen aktivieren.
  • 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 Installation einer App mit einem übereinstimmenden Bundle-Identifikator auf einem Gerät. Explizite App-IDs werden in der Regel für Apps verwendet, die appspezifische Funktionen wie Apple Pay oder Game Center aktivieren.

Der empfohlene Ansatz besteht darin, eine wild Karte App-ID zu erstellen, es sei denn, Ihre App verwendet app-spezifische Funktionen. Weitere Informationen zu Funktionen finden Sie unter "Funktionen".

Eine wild Karte App-ID kann mit den folgenden Schritten erstellt werden:

  1. Gehen Sie in einem Webbrowser zum Abschnitt Identifikatoren Ihres Apple Developer Accounts und klicken Sie auf die Schaltfläche +.

  2. Wählen Sie auf der Seite Einen neuen Identifikator registrieren die Option App IDs und klicken Sie auf die Schaltfläche Weiter.

  3. Wählen Sie auf der Seite Einen neuen Identifikator registrieren den Typ App und klicken Sie auf die Schaltfläche Weiter.

  4. Geben Sie auf der Seite "App-ID registrieren" eine Beschreibung an, und legen Sie die Bundle-ID auf "Wild" fest Karte. Geben Sie dann eine App-ID in das Format com.domainname.* ein, und klicken Sie auf die Schaltfläche "Weiter ":

    Screenshot of new App ID registration page with required fields populated.

  5. Überprüfen Sie auf der Seite App ID bestätigen die Informationen und klicken Sie dann auf die Schaltfläche Registrieren

Erstellen eines Entwicklungsbereitstellungsprofils

Nachdem die App-ID erstellt wurde, sollten Sie ein Entwicklungsbereitstellungsprofil erstellen. Ein Bereitstellungsprofil enthält Informationen dazu, welche App (oder apps, wenn es sich um eine Wild Karte App-ID handelt) das Profil betrifft, wer das Profil verwenden kann (abhängig von den hinzugefügten Entwicklerzertifikaten), und welche Geräte die App installieren können.

Ein Entwicklungsbereitstellungsprofil kann mit den folgenden Schritten erstellt werden:

  1. Wechseln Sie in einem Webbrowser zum Abschnitt Profile Ihres Apple Developer Account, und klicken Sie auf die Schaltfläche +.

  2. Wählen Sie auf der Seite "Neues Bereitstellungsprofil registrieren" im Abschnitt "Entwicklung" die Option "iOS-App-Entwicklung" aus, und klicken Sie auf die Schaltfläche "Weiter":

    Screenshot of creating a provisioning profile for iOS app development.

  3. Wählen Sie auf der Seite "Bereitstellungsprofil generieren" die zu verwendende App-ID aus, und klicken Sie dann auf die Schaltfläche "Weiter ".

    Screenshot of adding an App ID to a provisioning profile.

  4. Wählen Sie auf der Seite "Bereitstellungsprofil generieren" die Zertifikate aus, die in das Bereitstellungsprofil aufgenommen werden sollen, und klicken Sie dann auf die Schaltfläche "Weiter" .

    Screenshot of adding a certificate to a provisioning profile.

  5. Wählen Sie auf der Seite "Bereitstellungsprofil generieren" die Geräte aus, auf denen die App installiert wird, und klicken Sie dann auf die Schaltfläche "Weiter" .

    Screenshot of adding a device to a provisioning profile.

  6. Geben Sie auf der Seite "Bereitstellungsprofil generieren" einen Bereitstellungsprofilnamen ein, und klicken Sie dann auf die Schaltfläche "Generieren ".

    Screenshot of naming a provisioning profile.

  7. Auf der Seite "Bereitstellungsprofil generieren" können Sie optional auf die Schaltfläche "Herunterladen " klicken, um das Bereitstellungsprofil herunterzuladen.

Herunterladen von Bereitstellungsprofilen in Visual Studio

Nachdem Sie ein Entwicklungsbereitstellungsprofil in Ihrem Apple-Entwicklerkonto erstellt haben, kann Visual Studio es herunterladen, damit es zum Signieren Ihrer App verfügbar ist.

  1. Wechseln Sie in Visual Studio zu extras Options >> Xamarin > Apple Accounts.
  2. Wählen Sie im Dialogfeld "Apple-Entwicklerkonten " ein Team aus, und klicken Sie auf die Schaltfläche "Details anzeigen" .
  3. Überprüfen Sie im Dialogfeld "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 Dialogfeld "Details " auf die Schaltfläche "Alle Profile herunterladen".

Die Bereitstellungsprofile werden unter Windows heruntergeladen und auf Ihren Mac-Buildhost exportiert, wenn die IDE gekoppelt ist. Weitere Informationen finden Sie unter Mit Mac für die iOS-Entwicklung koppeln.

Manuelle Bereitstellung aktivieren

Nachdem Sie das Entwicklungsbereitstellungsprofil manuell erstellt und in Visual Studio installiert haben, sollte Ihr .NET MAUI-App-Projekt so konfiguriert werden, dass die manuelle Bereitstellung verwendet wird.

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt, und wählen Sie "Eigenschaften" aus. Navigieren Sie dann zur Registerkarte "Allgemein freigegebene MAUI">, und stellen Sie sicher, dass der Wert des Felds "Anwendungs-ID" dem Format der zuvor erstellten App-ID entspricht.

  2. Navigieren Sie in den Projekteigenschaften zur Registerkarte "Signatur für iOS-Bündelsignatur ", und stellen Sie sicher, dass die manuelle Bereitstellung in der Dropdownliste "Schema " ausgewählt ist:

    Screenshot of bundle signing tab for iOS in Visual Studio.

  3. Wählen Sie in den Eigenschaften für die Bündelsignierung Ihre Signaturidentität und das Bereitstellungsprofil aus, oder legen Sie beides auf "Automatisch" fest. Wenn die Signaturidentität und das Bereitstellungsprofil auf "Automatisch" festgelegt sind, wählt Visual Studio die Signaturidentität und das Bereitstellungsprofil basierend auf dem Bundlebezeichner in Info.plist aus (das identisch mit dem Wert der Anwendungs-ID-Eigenschaft in Ihrer Projektdatei ist).

Auf Gerät bereitstellen

Nachdem Sie die Bereitstellung in Ihrem .NET MAUI-App-Projekt konfiguriert haben, kann die App auf einem Gerät bereitgestellt werden.

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

  2. Stellen Sie sicher, dass Ihr iOS-Gerät über USB oder WLAN mit Ihrem Mac-Buildhost verbunden ist. Weitere Informationen zur drahtlosen Bereitstellung finden Sie in der drahtlosen Bereitstellung für .NET MAUI iOS-Apps.

  3. Verwenden Sie in der Visual Studio-Symbolleiste die Dropdownliste "Debugziel", um iOS-Remotegeräte und dann das Gerät auszuwählen, das mit Ihrem Mac-Buildhost verbunden ist:

    Select your remote device in Visual Studio.

  4. Drücken Sie in der Visual Studio-Symbolleiste die grüne Startschaltfläche, um die App auf Ihrem Remotegerät zu starten:

    Visual Studio iOS device debug target choice.

Hinweis

Ein alternativer Ansatz zum Bereitstellen einer .NET MAUI iOS-App auf einem Gerät besteht darin, einen heißen Neustart zu verwenden. Mit dem hot restart können Sie eine .NET MAUI-App auf einem lokalen 64-Bit-iOS-Gerät von Visual Studio bereitstellen, ohne dass ein Mac-Buildhost erforderlich ist. Weitere Informationen finden Sie unter Bereitstellen einer iOS-App mit dem hot restart.

Bereitstellung für Anwendungsdienste

Apple bietet eine Auswahl an Anwendungsdiensten, die als Funktionen bezeichnet werden, die für eine .NET MAUI iOS-App aktiviert werden können. Diese Funktionen müssen sowohl in Ihrem Bereitstellungsprofil konfiguriert werden, wenn die App-ID erstellt wird, als auch in der Datei "Entitlements.plist ", die dem .NET MAUI-App-Projekt hinzugefügt werden soll. Weitere Informationen zu Funktionen finden Sie unter "Berechtigungen und Funktionen".