Freigeben über


Automatische Bereitstellung für iOS-Apps

Die automatische Bereitstellung ist der empfohlene Ansatz für die Bereitstellung einer .NET Multi-Platform App UI (.NET MAUI) iOS-App auf einem Gerät. Bei diesem Ansatz erstellt und verwaltet Visual Studio automatisch Signaturkennungen, App-IDs und Bereitstellungsprofile. Bevor Sie mit dem automatischen Bereitstellungsprozess beginnen, sollten Sie sicherstellen, dass Sie Ihr Apple-Entwicklerkonto zu Visual Studio hinzugefügt ha Weitere Informationen finden Sie unter Apple-Kontoverwaltung.

Sobald Sie Ihren Apple-Entwicklerkonto zu Visual Studio hinzugefügt haben, können Sie jedes zugehörige Team verwenden. Zertifikate, App-IDs und Profile können dann für das Team erstellt werden. Die Team-ID wird auch verwendet, um ein Präfix für die App-ID zu erstellen, das in das Bereitstellungsprofil aufgenommen wird, mit dem Apple überprüfen kann, ob eine App auf einem Gerät bereitgestellt werden kann.

Wichtig

Bevor Sie beginnen, stellen Sie sicher, dass Sie alle Benutzerlizenzvereinbarungen in Ihrem Apple-Entwicklerkonto und App Store Connect akzeptiert haben.

Aktivieren der automatischen Bereitstellung

Nachdem Sie Ihr Apple-Entwicklerkonto zu Visual Studio hinzugefügt haben, müssen Sie die automatische Bereitstellung für das .NET MAUI-App-Projekt aktivieren.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihren Projektknoten, und wählen Sie Eigenschaften aus. Navigieren Sie dann zur Registerkarte iOS > Bündelsignatur und stellen Sie sicher, dass Automatische Bereitstellung in der Dropdown-Liste Schema ausgewählt ist:

    Screenshot der Registerkarte

  2. Klicken Sie in den Einstellungen Bündelsignatur auf den Hyperlink Automatische Bereitstellung konfigurieren.

  3. Wählen Sie im Dialogfeld Automatische Bereitstellung konfigurieren Ihr Team aus. Visual Studio versucht, Ihr Projekt automatisch bereitzustellen, und zeigt an, ob der Prozess erfolgreich abgeschlossen wurde:

    Screenshot des Dialogfelds für die automatische Bereitstellung, wenn sie ordnungsgemäß konfiguriert ist.

    Wenn die automatische Bereitstellung fehlschlägt, wird im Dialogfeld Automatische Bereitstellung konfigurieren der Grund für den Fehler angezeigt.

  4. Klicken Sie im Dialog Automatische Bereitstellung konfigurieren auf die Schaltfläche Ok, um den Dialog zu schließen.

Auf Gerät bereitstellen

Nach der Konfiguration des Provisioning in Ihrem .NET MAUI-App-Projekt kann die App mit Visual Studio 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 Pair to Mac für die iOS-Entwicklung.

  2. Stellen Sie sicher, dass Ihr iOS-Gerät über USB oder WiFi mit Ihrem Mac-Build-Host verbunden ist. Weitere Informationen zur drahtlosen Bereitstellung finden Sie unter Wireless deployment for .NET MAUI iOS apps.

  3. Verwenden Sie in der Visual Studio-Symbolleiste das Dropdown-Menü Debug-Ziel, um iOS-Remote-Geräte und dann das Gerät auszuwählen, das mit Ihrem Mac-Build-Host verbunden ist:

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

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

    Visual Studio iOS-Gerät Debugziel-Wahl.

Hinweis

Ein alternativer Ansatz für die Bereitstellung einer .NET MAUI iOS-App auf einem Gerät ist die Verwendung von Hot Restart. Mit Hot Restart können Sie eine .NET MAUI-App auf einem lokalen 64-Bit-iOS-Gerät von Visual Studio aus bereitstellen, ohne einen Mac-Build-Host zu benötigen. Weitere Informationen finden Sie unter Bereitstellen einer iOS-App mit Hot Restart.

Ausführen der automatischen Bereitstellung

Wenn die automatische Bereitstellung aktiviert ist, führt Visual Studio den automatischen Bereitstellungsprozess bei Bedarf erneut aus, wenn eines der folgenden Ereignisse eintritt:

  • Ein iOS-Gerät ist an Ihren Mac angeschlossen. Dabei wird automatisch überprüft, ob das Gerät in Ihrem Apple-Entwicklerkonto registriert ist. Liegt keine Registrierung vor, wird das Gerät hinzugefügt. Außerdem wird ein neues Bereitstellungsprofil generiert, das das Gerät enthält.
  • Die Bundle-ID Ihrer App wird geändert. Dadurch wird die App-ID aktualisiert und ein neues Bereitstellungsprofil mit dieser App-ID erstellt.
  • Eine unterstützte Fähigkeit wird in der Datei Entitlements.plist aktiviert. Diese Fähigkeit wird der App-ID hinzugefügt und ein neues Bereitstellungsprofil mit der aktualisierten App-ID wird erstellt. Nicht alle Funktionen werden derzeit unterstützt. Weitere Informationen finden Sie unter Funktionen.

Platzhalter-App-IDs

Standardmäßig wird bei der automatischen Bereitstellung versucht, eine Platzhalter-App-ID und ein Bereitstellungsprofil zu erstellen und zu verwenden, anstatt eine explizite App-ID auf der Grundlage des Bundle-Bezeichner der App. Wildcard App IDs reduzieren die Anzahl der Profile und IDs, die Sie in Ihrem Apple-Entwicklerkonto verwalten müssen. Weitere Informationen zu Wildcard-App-IDs finden Sie unter Erstellen eines Entwicklungsbereitstellungsprofils.

In einigen Fällen erfordern die Berechtigungen einer App eine explizite App-ID. Die folgenden Berechtigungen unterstützen keine Platzhalter-App-IDs:

  • App-Gruppen
  • Zugehörige Domänen
  • Apple Pay
  • Gamecenter
  • HealthKit
  • HomeKit
  • Hotspot
  • In-App-Käufe
  • Multipath
  • NFC
  • Persönliches VPN
  • Pushbenachrichtigungen
  • Konfiguration für drahtloses Zubehör

Wenn Ihre App eine dieser Berechtigungen verwendet, versucht Visual Studio, eine explizite App-ID zu erstellen.

Problembehandlung

Es kann einige Stunden dauern, bis ein neuer Apple-Entwicklerkonto genehmigt wird. Sie können die automatische Bereitstellung erst dann aktivieren, wenn das Konto genehmigt wurde.

Wenn der automatische Bereitstellungsprozess mit der Fehlermeldung Authentication Service Is Unavailable fehlschlägt, melden Sie sich entweder bei App Store Connect oder Ihrem Apple-Entwicklerkonto an, um zu überprüfen, ob Sie die neuesten Servicevereinbarungen akzeptiert haben.

Zertifikat kann nicht im lokalen Schlüsselbund gefunden werden

Wenn Sie mehrere Computer für die Entwicklung verwenden, erhalten Sie möglicherweise die folgende Fehlermeldung, wenn Sie versuchen, die automatische Bereitstellung auf einem Computer zu konfigurieren: „Beim Versuch, das Projekt automatisch bereitzustellen, ist ein Fehler aufgetreten: 'Certificate: Apple-Entwicklung: Erstellen über API (Schlüssel-ID)' existiert bereits, kann aber im lokalen Schlüsselbund nicht gefunden werden. Möglicherweise wurde sie auf einem anderen Entwicklungscomputer erstellt. Importieren Sie das Zertifikat und den privaten Schlüssel von diesem Computer, oder widerrufen Sie es, und versuchen Sie es erneut, ein neues zu erstellen.'“:

Screenshot eines Fehlers bei der automatischen Bereitstellung, wenn das Zertifikat nicht gefunden werden kann.

Dies kann vorkommen, weil die automatische Bereitstellung nicht die Notwendigkeit beseitigt, Zertifikate manuell zwischen Rechnern zu kopieren, wenn Sie mehrere Rechner für die Entwicklung verwenden. Das liegt daran, dass der private Schlüssel, mit dem ein Zertifikat erstellt wird, nur auf dem Rechner existiert, der das Zertifikat erstellt hat.

Um festzustellen, ob ein erforderliches Zertifikat auf Ihrem Entwicklungsrechner fehlt, gehen Sie in Visual Studio zu Tools > Optionen > Xamarin > Apple Accounts. Wählen Sie dann im Dialogfeld Apple-Entwicklerkonten ein Team aus und klicken Sie auf die Schaltfläche Details anzeigen …:

Screenshot des Details-Fensters, wenn sich das Zertifikat nicht im Schlüsselbund befindet.

Wenn das erforderliche Zertifikat nicht auf dem Computer installiert ist, wird im Fenster Details der Status „Nicht im Schlüsselbund“ für das Zertifikat angezeigt. In diesem Szenario muss das spezifische Zertifikat von dem Rechner, der es erstellt hat, im .p12-Format exportiert und dann über die Schaltfläche Zertifikat importieren in Visual Studio importiert werden.

Hinweis

  • Um ein Zertifikat von einem Mac auf einen anderen Mac zu kopieren, exportieren Sie das Zertifikat aus Keychain Access auf dem Mac, der das Zertifikat erstellt hat, und importieren es dann in Keychain Access auf dem anderen Mac.
  • Um ein Zertifikat von einem Mac auf einen Windows-Rechner zu kopieren, exportieren Sie das Zertifikat aus Keychain Access auf dem Mac und importieren es dann auf dem Windows-Rechner mit der Schaltfläche Zertifikat importieren in Visual Studio.
  • Es ist nicht möglich, ein Zertifikat, das von Visual Studio auf einem Windows-Rechner erstellt wurde, auf einen anderen Rechner zu kopieren, da es kennwortgeschützt ist.

Nachdem das Zertifikat importiert wurde, zeigt Visual Studio seinen Status als „Gültig“ an:

Screenshot des Detailfensters, wenn das Zertifikat dem Schlüsselbund hinzugefügt wurde.

Es sollte dann möglich sein, dass Visual Studio Ihr Projekt automatisch bereitstellt.