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.