Freigeben über


Mac Catalyst-Berechtigungen

Auf Mac Catalyst werden .NET Multi-Platform App UI (.NET MAUI)-Apps in einer Sandbox ausgeführt, die eine Reihe von Regeln bereitstellt, die den Zugriff zwischen der App und Systemressourcen oder Benutzerdaten einschränken. Berechtigungen werden verwendet, um die Erweiterung der Sandbox anzufordern, damit Ihre App zusätzliche Funktionen erhält, wie z. B. die Integration mit Siri. Alle von Ihrer App verwendeten Berechtigungen müssen in der Datei Entitlements.plist der App angegeben werden. Weitere Informationen über Berechtigungen finden Sie unter Entitlements auf developer.apple.com.

Zusätzlich zur Angabe von Berechtigungen wird die Datei Entitlements.plist zum Codesignieren der App verwendet. Beim Bodesignieren der App wird die Berechtigungsdatei mit Informationen aus Ihrem Apple-Entwicklerkonto und anderen Projektinformationen kombiniert, um einen endgültigen Satz von Berechtigungen auf Ihre App anzuwenden.

Berechtigungen sind eng mit dem Konzept der Funktionen 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. Weitere Informationen finden Sie unter Funktionen.

Wichtig

Eine Entitlements.plist Datei ist nicht mit einem Apple-Entwicklerkonto verknüpft. Daher sollten Sie beim Erstellen eines Bereitstellungsprofils für Ihre App sicherstellen, dass alle von Ihrer App verwendeten Berechtigungen auch als Funktionen im Bereitstellungsprofil angegeben werden. Weitere Informationen finden Sie unter Funktionen.

Hinzufügen einer Datei Entitlements.plist

Um eine neue Berechtigungsdatei zu Ihrem .NET MAUI-Appsprojekt hinzuzufügen, fügen Sie eine neue XML-Datei mit dem Namen Entitlements.plist in den Ordner Platforms/MacCatalyst Ihres Appsprojekts ein. Fügen Sie der Datei das folgende XML hinzu.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Berechtigungen festlegen

Berechtigungen können in Visual Studio Code konfiguriert werden, indem Sie auf die Datei Entitlements.plist doppelklicken, um sie im Editor zu öffnen, und dann die XML für die Berechtigung angeben. Weitere Informationen finden Sie unter Schlüsselverweis.

Hinweis

Es kann auch notwendig sein, Datenschutzschlüssel in der Info.plist für bestimmte Berechtigungen festzulegen.

Lizenzansprüche

Eine .NET MAUI Mac Catalyst-App muss so konfiguriert werden, dass sie die in der Datei Entitlements.plist definierten Berechtigungen verwendet. Dies kann durch Hinzufügen der Build-Eigenschaft $(CodesignEntitlements) zu einer Eigenschaftengruppe in der .csproj-Datei in Ihrer App erfolgen:

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0-maccatalyst|AnyCPU'">
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

Wichtig

Die $(CodesignEntitlements)-Buildeigenschaft kann für jede Buildkonfiguration für Ihre App separat festgelegt werden.

Alternativ können Sie die Berechtigungsdatei über die CLI angeben, wenn Sie Ihre App erstellen und veröffentlichen. Weitere Informationen finden Sie unter Veröffentlichen einer .NET MAUI Mac Catalyst-App.

Schlüsselreferenz

Die Berechtigungsschlüssel-Wert-Paare sind unten aufgeführt, um referenziert zu werden. In Visual Studio können sie durch Bearbeiten der Entitlements.plist-Datei als XML-Datei hinzugefügt werden. In Visual Studio Code können sie durch Bearbeiten der XML in der Entitlements.plist-Datei hinzugefügt werden.

Zugriff auf WLAN-Informationen

Mit dieser Zugriffs-WLAN-Informationsberechtigung kann Ihre App Informationen über das aktuell verbundene WLAN-Netzwerk abrufen.

Die Berechtigung wird mithilfe des com.apple.developer.networking.wifi-info Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.networking.wifi-info</key>
<true/>

WWeitere Informationen finden Sie unter Access WiFi Information Entitlement auf developer.apple.com.

App-Nachweis

Mit der App Attest-Berechtigung können Sie einen speziellen kryptografischen Schlüssel auf Ihrem Gerät generieren und ihn verwenden, um die Integrität Ihrer App zu überprüfen, bevor ein Server Zugriff auf sensible Daten gewährt.

Die Berechtigung wird mithilfe des com.apple.developer.devicecheck.appattest-environment Schlüssels vom Typ String definiert:

<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>development</string>

Weitere Informationen finden Sie unter App Attest Environment auf developer.apple.com.

App-Gruppen

Die Berechtigung für App-Gruppen ermöglicht Ihrer App den Zugriff auf Gruppencontainer, die von mehreren verwandten Apps gemeinsam genutzt werden, sowie die prozessübergreifende Kommunikation zwischen den Apps.

Die Berechtigung wird mithilfe des com.apple.security.application-groups Schlüssels des Typs Array von String definiert:

<key>com.apple.security.application-groups</key>
<array>
  <string>group.MyAppGroups</string>
</array>

Weitere Informationen finden Sie unter App Groups Entitlement auf developer.apple.com.

Apple Pay

Die Apple Pay-Berechtigung ermöglicht es Benutzern, auf einfache und sichere Weise physische Gute und Dienstleistungen wie Lebensmittel, Kleidung, Tickets und Reservierungen mit auf ihrem Gerät gespeicherten Zahlungsinformationen zu bezahlen.

Die Berechtigung wird mithilfe des com.apple.developer.in-app-payments Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.in-app-payments</key>
<array>
  <string>merchant.your.merchantid</string>
</array>

Weitere Informationen finden Sie unter Merchant IDs Entitlement auf developer.apple.com.

Zugehörige Domänen

Mit der Berechtigung für zugehörige Domänen kann Ihre App mit bestimmten Domänen für bestimmte Dienste verknüpft werden, wie etwa für den Zugriff auf Safari, gespeicherte Kennwörter und die Aktivitätsfortsetzung.

Die Berechtigung wird mithilfe des com.apple.developer.associated-domains Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.associated-domains</key>
<array>
  <string>webcredentials:example.com</string>
</array>

Weitere Informationen finden Sie unter Associated Domains Entitlement auf developer.apple.com.

Anbieter von AutoFill-Anmeldeinformationen

Die Berechtigung für den Anbieter von AutoAusfüllen ermöglicht es einer App mit Benutzerberechtigung, Benutzernamen und Kennwörter für AutoAusfüllen in der App und Safari bereitzustellen.

Die Berechtigung wird mithilfe des com.apple.developer.authentication-services.autofill-credential-provider Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>

Weitere Informationen finden Sie unter AutoFill Credential Provider Entitlement auf developer.apple.com.

ClassKit

Die ClassKit-Berechtigung ermöglicht es Ihrer App, den Fortschritt der Schüler bei zugewiesenen Aktivitäten, wie etwa das Lesen eines Kapitels in einem Buch oder die Teilnahme an einem Quiz, in von der Schule verwalteten Umgebungen privat und sicher mit Lehrern zu teilen.

Die Berechtigung wird mithilfe des com.apple.developer.ClassKit-environment Schlüssels vom Typ String definiert:

<key>com.apple.developer.ClassKit-environment</key>
<string>development</string>

Weitere Informationen finden Sie unter ClassKit Environment Entitlement auf developer.apple.com.

Kommunikation mit Treibern

Die Kommunikation mit der Treiberberechtigung ermöglicht die Kommunikation zwischen einer App und DriverKit-Treibern.

Die Berechtigung wird mithilfe des com.apple.developer.driverkit.communicates-with-drivers Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.driverkit.communicates-with-drivers</key>
<true/>

Weitere Informationen finden Sie unter Kommunikation mit Treibern auf developer.apple.com.

Kommunikationsbenachrichtigungen

Die Berechtigung für Kommunikationsbenachrichtigungen ermöglicht es einer App, Kommunikationsbenachrichtigungen von einer Person an eine Person oder mehrere Personen zu senden.

Die Berechtigung wird mithilfe des com.apple.developer.usernotifications.communication Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.usernotifications.communication</key>
<true/>

Weitere Informationen finden Sie unter Request Notification Service Entitlement auf developer.apple.com.

Datenschutz

Die Datenschutzberechtigung ermöglicht Ihrer App die Verwendung der integrierten Verschlüsselung auf unterstützten Geräten. Wenn Sie eine Datei als geschützt angeben, speichert das System die Datei in einem verschlüsselten Format.

Die Berechtigung wird mithilfe des com.apple.developer.default-data-protection Schlüssels vom Typ String definiert:

<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>

Weitere Informationen finden Sie unter Datenschutzberechtigung auf developer.apple.com.

Erweiterte virtuelle Adressierung

Mit der erweiterten Berechtigung zur virtuellen Adressierung können Sie in Ihrer App mehr Adressraum verwenden.

Die Berechtigung wird mithilfe des com.apple.developer.kernel.extended-virtual-addressing Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>

Weitere Informationen finden Sie unter Erweiterte virtuelle Adressierungsberechtigung auf developer.apple.com.

Steuerelementengruppe

Die Berechtigung für Familienkontrollen ermöglicht die elterliche Kontrolle in Ihrer App, indem sie den Zugriff auf die verwalteten Einstellungen und Geräteaktivitäts-Frameworks in der ScreenTime-API gewährt. Die Verwendung von Familienkontrollen erfordert die gemeinsame Nutzung der Familie für die Benutzerregistrierung. Sie verhindert die Entfernung Ihrer App und ermöglicht die Filterung von Inhalten auf dem Gerät durch Netzwerkerweiterungen.

Die Berechtigung wird mithilfe des com.apple.developer.family-controls Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.family-controls</key>
<true/>

Weitere Informationen finden Sie unter Family Controls Entitlement auf developer.apple.com.

Testmodus für FileProvider

Die FileProvider-Testmodus-Berechtigung ermöglicht einen Testmodus, der der FileProvider-Erweiterung mehr Kontrolle über das Systemverhalten während des Testens bietet.

Die Berechtigung wird mithilfe des com.apple.developer.fileprovider.testing-mode Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.fileprovider.testing-mode</key>
<true/>

Weitere Informationen finden Sie unter FileProvider Testing Mode Entitlement auf developer.apple.com.

Schriftarten

Mit der Berechtigung für Schriftarten kann Ihre App mit der Erlaubnis des Benutzers benutzerdefinierte Schriftarten installieren und verwenden.

Die Berechtigung wird mithilfe des com.apple.developer.user-fonts Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.user-fonts</key>
<array>
  <string>system-installation</string>
</array>

Weitere Informationen finden Sie unter Konfigurieren von benutzerdefinierten Schriftarten auf developer.apple.com.

Gruppenaktivitäten

Die Berechtigung für Gruppenaktivitäten ermöglicht es einer App, mit der gleichen App auf einem oder mehreren anderen Geräten zu kommunizieren, um eine Gruppenaktivität innerhalb eines FaceTime-Anrufs zu erstellen. Bei Gruppenaktivitäten auf FaceTime können Benutzer gemeinsam Videos ansehen, gemeinsam Musik hören oder eine andere synchrone Aktivität durchführen.

Die Berechtigung wird mithilfe des com.apple.developer.group-session Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.group-session</key>
<true/>

Weitere Informationen finden Sie unter Gruppenaktivitätenberechtigung auf developer.apple.com.

HealthKit

Die HealthKit-Berechtigung ermöglicht es Ihrer App, mit der Erlaubnis des Nutzers auf persönliche Gesundheitsdaten zuzugreifen.

Die Berechtigung wird mithilfe des com.apple.developer.healthkit Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.healthkit</key>
<true/>

Weitere Informationen finden Sie unter HealthKit-Berechtigung auf developer.apple.com.

HomeKit

Die HomeKit-Berechtigung ermöglicht Ihrer App die Interaktion mit HomeKit-Zubehör.

Die Berechtigung wird mithilfe des com.apple.developer.homekit Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.homekit</key>
<true/>

Weitere Informationen finden Sie unter HomeKit-Berechtigung auf developer.apple.com.

Hotspotkonfiguration

Mit der Berechtigungsberechtigung für die Hotspotkonfiguration kann Ihre App WLAN-Netzwerke konfigurieren.

Die Berechtigung wird mithilfe des com.apple.developer.networking.HotspotConfiguration Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.networking.HotspotConfiguration</key>
<true/>

Weitere Informationen finden Sie unter Hotspot-Knfigurationsberechtigungen auf developer.apple.com.

iCloud

Die iCloud-Berechtigung ermöglicht Es Ihrer App, Daten in der Cloud zu speichern, sodass Benutzer ihre Daten auf mehreren Geräten freigeben können.

Die Berechtigung wird durch den Schlüssel com.apple.developer.icloud-container-development-container-identifiers des Typs Array von String und weitere Schlüssel definiert, die den Container-Identifikator darstellen:

<key>com.apple.developer.icloud-container-identifiers</key>
<array>
  <string>iCloud.com.companyname.test</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>

Die Platzhalter $(AppIdentifierPrefix) und $(CFBundleIdentifier) werden zur Erstellungszeit durch die richtigen Werte ersetzt.

Weitere Informationen finden Sie unter iCloud Container Identifiers Entitlement auf developer.apple.com.

Erhöhte Speichergrenze

Mit der erhöhten Speicherbeschränkungsberechtigung kann Ihre App den Standardspeichergrenzwert der App auf unterstützten Geräten überschreiten.

Die Berechtigung wird mithilfe des com.apple.developer.kernel.increased-memory-limit Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>

Weitere Informationen finden Sie unter Erhöhte Speicherbeschränkungsberechtigung auf developer.apple.com.

Inter-App-Audio

Die Audioberechtigung für Inter-App ermöglicht es Ihrer App, Audio an/von anderen Apps zu senden und von anderen Apps zu empfangen, für die Inter-App-Audio aktiviert ist.

Die Berechtigung wird über den Schlüssel inter-app-audio vom Typ Boolean definiert:

<key>inter-app-audio</key>
<true/>

Weitere Informationen finden Sie unter Inter-App-Audioberechtigung auf developer.apple.com.

Wichtig

Diese Berechtigung ist in iOS 13 veraltet und ist nicht verfügbar, wenn iPads-Apps in macOS ausgeführt werden.

Schlüsselbund

Die Schlüsselbundberechtigung ermöglicht es mehreren Apps, die von demselben Team geschrieben wurden, Kennwörter gemeinsam zu nutzen.

Die Berechtigung wird mithilfe des keychain-access-groups Schlüssels des Typs Array von String definiert:

<key>keychain-access-groups</key>
<array>
  <string>$(AppIdentifierPrefix)com.companyname.test</string>
</array>

Weitere Informationen finden Sie unter Schlüsselbund-Zugangsgruppenberechtigung auf developer.apple.com.

MDM-verwaltete assoziierte Domänen

Die Berechtigung für verwaltete zugehörige Domänen von Mobile Development Management (MDM) ermöglicht es MDM, die zu Ihrer App gehörenden zugehörigen Domänen mit Werten wie Servernamen zu ergänzen, die für eine Umgebung eindeutig sind.

Die Berechtigung wird mithilfe des com.apple.developer.associated-domains.mdm-managed Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.associated-domains.mdm-managed</key>
<true/>

Multipath

Die Multipath-Berechtigung ermöglicht Ihrer App die Verwendung von Multipath-Protokollen wie Multipath TCP, die den Datenverkehr nahtlos von einer Schnittstelle zur anderen weiterleiten.

Die Berechtigung wird mithilfe des com.apple.developer.networking.multipath Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.networking.multipath</key>
<true/>

Weitere Informationen finden Sie unter Multipath-Berechtigung auf developer.apple.com.

Near Field Communication Tag Reader

Die Leseberechtigung für near field communication tag reader ermöglicht es einer App, NFC-Tags (NDEF) Near Field Communication (NDEF) zu lesen.

Die Berechtigung wird mithilfe des com.apple.developer.nfc.readersession.formats Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.nfc.readersession.formats</key>
<array>
  <string>NDEF</string>
  <string>TAG</string>
</array>

Weitere Informationen finden Sie unter Near Field Communication Tag Reader Session Formats Entitlement auf developer.apple.com.

Netzwerkerweiterungen

Die Berechtigung für Netzwerkerweiterungen ermöglicht es Ihnen, App-Erweiterungen zu erstellen, die die Netzwerkfunktionen Ihres Geräts erweitern und anpassen.

Die Berechtigung wird mithilfe des com.apple.developer.networking.networkextension Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.networking.networkextension</key>
<array>
  <string>content-filter-provider</string>
</array>

Weitere Informationen finden Sie unter Netzwerkerweiterungsberechtigung auf developer.apple.com.

Persönliches VPN

Die persönliche VPN-Berechtigung ermöglicht Ihrer App die Verwendung benutzerdefinierter VPN-Verbindungen.

Die Berechtigung wird mithilfe des com.apple.developer.networking.vpn.api Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.networking.vpn.api</key>
<array>
  <string>allow-vpn</string>
</array>

Weitere Informationen finden Sie unter Persönliche VPN-Berechtigung auf developer.apple.com.

Pushbenachrichtigungen

Mit der Berechtigung für Pushbenachrichtigungen kann Ihre App Pushbenachrichtigungen empfangen.

Die Berechtigung wird über den Schlüssel aps-environment vom Typ String definiert:

<key>aps-environment</key>
<string>development</string>

Weitere Informationen finden Sie unter APS-Umgebungsberechtigung auf developer.apple.com.

Push-to-talk

Mit der Push-to-Talk-Berechtigung kann Ihre App Push-to-Talk-Kanäle an das System melden, sodass sie die Übertragung und den Empfang von Hintergrundaudio verarbeiten kann.

Die Berechtigung wird mithilfe des com.apple.developer.push-to-talk Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.push-to-talk</key>
<true/>

Weitere Informationen finden Sie unter Push to Talk-Berechtigung auf developer.apple.com.

Für Sie freigegeben

Mit der Berechtigung „Für Sie freigegeben“ kann eine App Links anfordern, die in Nachrichtenunterhaltungen freigegeben wurden, und damit sie über das Framework „Für Sie freigegeben“ angezeigt werden.

Die Berechtigung wird mithilfe des com.apple.developer.shared-with-you Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.shared-with-you</key>
<true/>

Mit Apple anmelden

Die Anmeldung mit Apple-Berechtigung ermöglicht Benutzern die Authentifizierung mit ihrer Apple-ID.

Die Berechtigung wird mithilfe des com.apple.developer.applesignin Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.applesignin</key>
<array>
  <string>Default</string>
</array>

Weitere Informationen finden Sie unter Anmelden mit Apple-Berechtigung auf developer.apple.com.

Siri

Die Siri-Berechtigung ermöglicht Ihrer App die Verarbeitung von Siri-Anforderungen.

Die Berechtigung wird mithilfe des com.apple.developer.siri Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.siri</key>
<true/>

Weitere Informationen finden Sie unter Siri-Berechtigung auf developer.apple.com.

Zeitabhängige Benachrichtigungen

Die Berechtigung „Zeitabhängige Benachrichtigungen“ ermöglicht es einer App, zeitabhängige Benachrichtigungen zu behandeln. Zeitabhängige Benachrichtigungen liefern Informationen, die sofortige Aufmerksamkeit erfordern, und fordert die Person direkt auf, maßnahmen zu ergreifen, sobald die Benachrichtigung empfangen wird. Zeitabhängige Benachrichtigungen werden immer sofort zugestellt, werden vor anderen Benachrichtigungen angezeigt und können den Fokus und den Nicht stören-Modus durchbrechen.

Die Berechtigung wird mithilfe des com.apple.developer.usernotifications.time-sensitive Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>

Wallet

Mit der Brieftaschenberechtigung kann Ihre App Pässe, Tickets, Geschenk-Karte und Treue-Karte verwalten. Es unterstützt eine Vielzahl von Barcodeformaten.

Die Berechtigung wird mithilfe des com.apple.developer.pass-type-identifiers Schlüssels des Typs Array von String definiert:

<key>com.apple.developer.pass-type-identifiers</key>
<array>
  <string>$(TeamIdentifierPrefix)*</string>
</array>

So akzeptiert Ihre App alle Passtypen. Um Ihre App einzuschränken und nur eine Reihe von Team-Pass-Typen zuzulassen, setzen Sie den String-Wert auf $(TeamIdentifierPrefix)pass.$(CFBundleIdentifier), wobei pass.$(CFBundleIdentifier) die Pass-ID ist.

Weitere Informationen finden Sie unter Pass Type IDs-Berechtigung auf developer.apple.com.

WeatherKit

Die WeatherKit-Berechtigung ermöglicht es einer App, aktuelle und prognostizierte Wetterinformationen zu empfangen und zu verarbeiten.

Die Berechtigung wird mithilfe des com.apple.developer.weatherkit Schlüssels vom Typ Boolean definiert:

<key>com.apple.developer.weatherkit</key>
<true/>

Weitere Informationen finden Sie unter WeatherKit-Berechtigung auf developer.apple.com.

Konfiguration für drahtloses Zubehör

Die Konfiguration für drahtloses Zubehör ermöglicht Ihrer App die Konfiguration von MFi-WLAN-Zubehör.

Die Berechtigung wird mithilfe des com.apple.external-accessory.wireless-configuration Schlüssels vom Typ Boolean definiert:

<key>com.apple.external-accessory.wireless-configuration</key>
<true/>

Weitere Informationen finden Sie unter Wireless Accessory Configuration Entitlement auf developer.apple.com.