iOS-Funktionen
Unter iOS werden .NET Multiplatform App UI (.NET MAUI)-Apps in einer Sandbox ausgeführt, die eine Reihe von Regeln enthält, die den Zugriff zwischen der App und den Systemressourcen oder Benutzerdaten einschränken. Apple stellt Funktionen, auch bekannt als App-Dienste, zur Verfügung, um die Funktionalität zu erweitern und den Umfang dessen, was iOS-Apps tun können, zu vergrößern. Mithilfe von Funktionen können Sie Ihrer App eine tiefere Integration mit Plattformfunktionen hinzufügen, wie etwa die Integration mit Siri. Weitere Informationen über Funktionen finden Sie unter Funktionen unter developer.apple.com.
Fähigkeiten werden dem Bereitstellungsprofil Ihrer App hinzugefügt und beim Codesignieren Ihrer App verwendet. Das Bereitstellungsprofil muss eine App-ID enthalten, die dem Bündelbezeichner Ihrer App entspricht, wobei die erforderlichen Funktionen aktiviert sind. Das Bereitstellungsprofil kann automatisch in Visual Studio oder manuell in Ihrem Apple-Entwicklerkonto erstellt werden.
Die Funktionen sind eng mit dem Konzept der Berechtigungen verbunden. Beide fordern die Erweiterung des Sandkastens an, in dem Ihre App ausgeführt wird, um ihm zusätzliche Funktionen zu bieten. Berechtigungen werden in der Regel beim Entwickeln Ihrer App hinzugefügt, während funktionen in der Regel beim Codesignieren der App für die Verteilung hinzugefügt werden. Wenn die automatische Bereitstellung jedoch aktiviert ist, werden durch Hinzufügen bestimmter Berechtigungen zu Ihrer App auch die Funktionen für Ihre App im Bereitstellungsprofil aktualisiert. Weitere Informationen zu Berechtigungen finden Sie unter Verwalten von Benutzerberechtigungen.
Hinzufügen von Funktionen mit Visual Studio
Funktionen können einem Bereitstellungsprofil in Visual Studio hinzugefügt werden. Dieser Ansatz erfordert die Verwendung der automatischen Bereitstellung und funktioniert nur für eine Teilmenge von Funktionen. Weitere Informationen zur automatischen Bereitstellung finden Sie unter Automatische Bereitstellung für iOS-Apps.
In der folgenden Liste sind die Funktionen aufgeführt, die mit Visual Studio automatisch bereitgestellt werden können:
- HealthKit
- HomeKit
- Hotspotkonfiguration
- Inter-App-Audio
- Multipath
- Netzwerkerweiterungen
- Near Field Communication Tag Reader
- Persönliches VPN
- Siri
- Konfiguration für drahtloses Zubehör
In Visual Studio werden alle Funktionen zur Entitlements.plist-Datei Ihrer App hinzugefügt. Die oben aufgeführten Funktionen werden auch Ihrem Bereitstellungsprofil hinzugefügt. Weitere Informationen über Berechtigungen und wie Sie eine Berechtigungsdatei zu Ihrem Projekt hinzufügen können, finden Sie unter Berechtigungen.
So fügen Sie in Visual Studio eine Funktion hinzu:
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.
Aktivieren Sie in Visual Studio die automatische Bereitstellung für Ihr Projekt. Weitere Informationen finden Sie unter Automatische Bereitstellung aktivieren.
Fügen Sie in Visual Studio eine Entitlements.plist-Datei zu Ihrem Projekt hinzu. Weitere Informationen finden Sie unter Hinzufügen einer Datei Entitlements.plist.
Doppelklicken Sie im Solution Explorer auf die Datei Entitlements.plist aus dem Ordner Platforms > iOS Ihres .NET MAUI-App-Projekts, um sie im Berechtigungs-Editor zu öffnen.
Wählen Sie im Berechtigungs-Editor alle Berechtigungen aus, die für Ihre App erforderlich sind, und konfigurieren Sie sie:
Speichern Sie die Änderungen an der Datei Entitlements.plist, um die Schlüssel/Wertpaare für die Berechtigungen in die Datei aufzunehmen, und fügen Sie den App-Dienst zu Ihrer App ID hinzu.
Es kann auch notwendig sein, in der Info.plist Datenschutzschlüssel für bestimmte Funktionen festzulegen.
Hinzufügen von Funktionen in Ihrem Apple-Entwicklerkonto
Alle Funktionen können dem Bereitstellungsprofil Ihrer App in Ihrem Apple-Entwicklerkonto hinzugefügt werden. Dieser Ansatz erfordert die Verwendung der manuellen Bereitstellung und funktioniert für alle Funktionen. Weitere Informationen zur manuellen Bereitstellung finden Sie unter Manuelle Bereitstellung für iOS-Apps.
Das Hinzufügen einer Funktion in Ihrem Apple-Entwicklerkonto ist ein mehrstufiger Prozess, der das Erstellen einer App ID, eines Bereitstellungsprofils und die Aktivierung der manuellen Bereitstellung erfordert.
Wenn Sie eine neue Funktion zu Ihrem Bereitstellungsprofil hinzufügen, sollten Sie dieselbe Funktion auch zur Entitlements.plist-Datei Ihrer App hinzufügen und sicherstellen, dass die App diese Datei verwendet. Weitere Informationen finden Sie unter Zuweisen von Berechtigungen. Es kann auch notwendig sein, in der Info.plist Datenschutzschlüssel für bestimmte Funktionen festzulegen.
Erstellen einer App-ID mit einem App-Dienst
Eine App-ID ähnelt einer Reverse-DNS-Zeichenfolge, die eine App eindeutig identifiziert und zum Identifizieren der app benötigt, die Sie verteilen. Die App-ID sollte mit dem Bündelbezeichner für Ihre App identisch sein.
Wichtig
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.
Es gibt zwei Arten von App-IDs – explizite und Wildcard. 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 Bündelbezeichner auf einem Gerät. Explizite App-IDs sind für Apps erforderlich, die app-spezifische Funktionen aktivieren.
Eine App-ID kann mit folgendem Befehl erstellt werden:
Gehen Sie in einem Webbrowser zum Abschnitt Kennungen Ihres Apple-Entwicklerkontos und klicken Sie auf die Schaltfläche +.
Wählen Sie auf der Seite Registrieren Sie einen neuen Bezeichner die Option App IDs aus, und klicken Sie auf die Schaltfläche Weiter.
Wählen Sie auf der Seite Registrieren Sie einen neuen Bezeichner den Typ App aus und klicken Sie auf die Schaltfläche Weiter.
Geben Sie auf der Seite Register an App ID eine Beschreibung an und setzen Sie die Bundle ID auf Explicit. Geben Sie dann eine App-ID im Format
com.domainname.myid
ein:Aktivieren Sie auf der Seite Registrieren Sie eine App-ID unter den Registerkarten Fähigkeiten und App-Dienste die gewünschten Funktionen:
Klicken Sie auf der Seite Registrieren einer App-ID auf die Schaltfläche Fortfahren.
Überprüfen Sie auf der Seite Bestätigen Sie Ihre App-ID die Informationen und klicken Sie dann auf die Schaltfläche Registrieren. Wenn Ihre App ID erfolgreich registriert wurde, gelangen Sie zurück zum Abschnitt „Identifiers“ in Ihrem Apple-Entwicklerkonto.
Klicken Sie auf der Seite Kennungen auf die App-ID, die Sie gerade erstellt haben.
Auf der Seite Bearbeiten Sie Ihre App-ID-Konfiguration haben alle aktivierten Funktionen, die zusätzliche Einstellungen erfordern, eine Schaltfläche Konfigurieren:
Klicken Sie auf eine der Schaltflächen Konfigurieren, um Ihre aktivierten Funktionen zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von App-Funktionen auf developer.apple.com.
Erstellen eines Bereitstellungsprofils
Nachdem Sie eine App-ID erstellt haben, müssen Sie ein Bereitstellungsprofil für die App-ID erstellen. Dazu müssen Sie zuvor ein Signaturzertifikat erstellt und ein Gerät zu Ihrem Apple-Entwicklerkonto hinzugefügt haben. Weitere Informationen finden Sie unter Erstellen eines Signaturzertifikate und Hinzufügen eines Geräts.
Ein Bereitstellungsprofil kann mit den folgenden Schritten erstellt werden:
Gehen Sie in einem Webbrowser zum Abschnitt Profile Ihres Apple-Entwicklerkontos und klicken Sie auf die Schaltfläche +.
Wählen Sie auf der Seite Registrieren eines neuen Bereitstellungsprofils im Abschnitt Entwicklung die Option iOS App-Entwicklung (oder einen Vertriebsprofiltyp aus dem Abschnitt Vertrieb) aus und klicken Sie auf die Schaltfläche Weiter:
Wählen Sie auf der Seite Bereitstellungsprofil erstellen Ihre App ID aus und klicken Sie anschließend auf die Schaltfläche Weiter:
Wählen Sie auf der Seite Erstellen eines Bereitstellungsprofils die Zertifikate aus, die in das Bereitstellungsprofil aufgenommen werden sollen, und klicken Sie anschließend auf die Schaltfläche Weiter:
Wählen Sie auf der Seite Erstellen eines Bereitstellungsprofils die Geräte aus, auf denen die App installiert werden soll, und klicken Sie anschließend auf die Schaltfläche Weiter:
Geben Sie auf der Seite Erstellen eines Bereitstellungsprofils einen Namen für das Bereitstellungsprofil ein und klicken Sie dann auf die Schaltfläche Erstellen:
Manuelle Bereitstellung aktivieren
Nachdem Sie ein Bereitstellungsprofil erstellt haben, muss es von Visual Studio heruntergeladen und als Bereitstellungsprofil für Ihr Projekt festgelegt werden:
- Laden Sie in Visual Studio das soeben erstellte Bereitstellungsprofil herunter, damit es zum Signaturen Ihrer App verfügbar ist. Weitere Informationen finden Sie unter Herunterladen von Bereitstellungsprofilen in Visual Studio.
- Aktivieren Sie in Visual Studio die manuelle Bereitstellung für Ihr Projekt. Weitere Informationen finden Sie unter Manuelle Bereitstellung aktivieren.
Problembehandlung
In der folgenden Liste werden die häufig auftretenden Probleme beschrieben, die beim Entwickeln einer .NET MAUI iOS-App auftreten können, die Funktionen verwendet:
- Vergewissern Sie sich, dass die richtige App-ID erstellt und im Abschnitt Kennungen Ihres Apple-Entwicklerkontos registriert wurde.
- Stellen Sie sicher, dass die Funktion der App-ID hinzugefügt wurde und dass die Funktion mit den richtigen Werten konfiguriert ist.
- Vergewissern Sie sich, dass das Bereitstellungsprofil auf Ihrem Entwicklungsrechner installiert wurde und dass die Datei Info.plist der App einen Bundle-Identifikator verwendet, der mit Ihrer App-ID identisch ist.
- Stellen Sie sicher, dass in der Datei Entitlements.plist der App die richtigen Berechtigungen aktiviert sind.
- Stellen Sie sicher, dass alle erforderlichen Datenschutzschlüssel in Info.plist festgelegt sind.
- Stellen Sie sicher, dass die App die Datei Entitlements.plist verbraucht.