Von iOS Rocket Certificates aktivierte Entitlements
Jedes der unten aufgeführten Entitlements ist in iOS Rocket Certificates aktiv, das heißt, den sideloadeten Apps wurden diese Fähigkeiten/Berechtigungen gewährt.
App Identity & Debugging: App ID - Team Identifier
Data Sharing (KeyChain): AppGroups auf Certificate-Ebene (nicht auf Provisioning-Ebene) - KeyChain Access Groups
iCloud Services: iCloud Services - iCloud CloudKit Containers IDs - development CloudKit Containers - iCloud Key Value Store - iCloud document ubiquity containers
Notifications: Push Notifications - Communication Notifications - Time-sensitive Notifications
Networking & Connectivity: Access Wifi - Hotspot Configuration - Multipath - Network Extensions - Personal VPN
Audio & Siri: Push-to-Talk - Inter-App Audio - Siri Integration
Hardware/Device Integration: HomeKit - NFC Tag Reading - Wireless Accessory Configuration
HealthKit & Wellness: HealthKit - Health Records Access - HealthKit Background Delivery
Apple Services & Features: Apple Pay (Merchant ID) - Wallet Passes (PassKit) - Game Center - ClassKit - WeatherKit
System Resource Access: Extended Virtual Addressing - Increased Memory Limit - Increased Debugging Memory
Weitere Erklärung der Entitlements:
App Identity & Debugging:
•Der eindeutige App-ID-String für die App, der die Team-ID und den Bundle-Identifier der App kombiniert. Dieser identifiziert die App beim Code Signing und muss mit der App ID des Provisioning Profiles übereinstimmen.
•Der Team Identifier für den Apple-Developer-Account. Er gibt an, welches Entwicklungsteam (Apple Developer Team ID) die sideloadete App signiert hat, und verknüpft die App mit dem korrekten Team/Provisioning Profile (verwendet in Entitlements wie iCloud und App Groups).
Data Sharing (App Groups & Keychain):
•Das App Groups-Entitlement ermöglicht es der sideloadeten App, auf gemeinsame Gruppen-Container zuzugreifen und Daten zwischen verwandten Apps prozessübergreifend auszutauschen. (So können mehrere Apps desselben Teams Dateien oder UserDefaults gemeinsam nutzen, wenn sie zur selben App Group gehören.) Dieses Entitlement wird auf Certificate-Ebene unterstützt, aber NICHT auf Provisioning-Ebene aktiviert.
•Das Keychain Access Groups-Entitlement erlaubt der sideloadeten App, Keychain-Einträge mit anderen Apps desselben Entwicklungsteams zu teilen. Alle Apps in derselben Keychain-Gruppe können auf die gespeicherten Zugangsdaten der Gruppe zugreifen.
iCloud & Cloud Services:
•Die iCloud Services (alle iCloud Services sind aktiviert).
•Die iCloud CloudKit Container IDs erlauben der sideloadeten App, bestimmte CloudKit-Container (anhand von iCloud-Container-Identifikatoren) zum Speichern und Abrufen von Daten zu nutzen.
•Die development CloudKit Containers würden die Container-IDs auflisten, die im Entwicklungsmodus verwendet werden.
•Der iCloud Key-Value Store (ubiquitärer Key-Value-Speicher). Dieser identifiziert den iCloud-K/V-Speicher-Container der App, typischerweise im Format <TeamID>.<BundleID>. Er erlaubt der sideloadeten App, kleine Datenmengen (Einstellungen usw.) in iCloud zu speichern, sodass sie über die Geräte des Nutzers hinweg synchronisiert werden.
•Die iCloud document ubiquity containers, die die sideloadete App für iCloud Drive oder Dokumentenspeicherung nutzen kann; das Vorhandensein dieses Schlüssels zeigt an, dass iCloud-Dokumentenspeicherung genutzt werden kann, sofern konfiguriert.
Notifications:
•Das Push Notifications-Entitlement. Gibt an, welche Apple-Push-Notification-Service-(APNs-)Umgebung die App nutzen darf. Ein Wert von development oder production gibt zum Beispiel an, dass die App Push Notifications in der jeweiligen APNs-Umgebung empfangen kann (das Profil zeigt production, das heißt Push Notifications für die Produktionsumgebung sind aktiviert).
•Das Communication Notifications-Entitlement erlaubt der sideloadeten App, Notifications zu senden, die als Kommunikation zwischen Nutzern klassifiziert sind (Person-zu-Person-Nachrichten oder Anrufe). So weiß das System, dass die Notifications direkte Kommunikation betreffen (etwa einen Chat oder VOIP-Anruf), die in der Notification-Übersicht und in Focus-Modi höher priorisiert werden kann.
•Das Time-Sensitive Notifications-Entitlement erlaubt der sideloadeten App, zeitkritische Hinweise zu senden. Diese Notifications kennzeichnen dringende Informationen, die den Nutzer sofort benachrichtigen sollen, und dürfen Modi wie „Nicht stören“ oder Focus durchbrechen (sie werden prominent zugestellt, da sie zeitnahe Aufmerksamkeit erfordern).
Networking & Connectivity:
•Das Access Wi-Fi Information-Entitlement erlaubt der sideloadeten App, Informationen über das aktuell verbundene WLAN-Netzwerk zu erhalten (etwa die WLAN-SSID/BSSID). Apps ohne dieses Entitlement erhalten aus Datenschutzgründen nur eingeschränkte oder keine WLAN-Informationen.
•Das Hotspot Configuration-Entitlement ermöglicht es der sideloadeten App, WLAN-Netzwerke ohne Benutzerinteraktion zu konfigurieren oder ihnen beizutreten. Damit kann die App programmgesteuert WLAN-Netzwerke verbinden oder Hotspot-Einstellungen konfigurieren (nützlich für Apps, die WLAN- oder Hotspot-Konnektivität verwalten).
•Das Multipath-Entitlement erlaubt der sideloadeten App, Multipath-Protokolle (wie Multipath TCP) zu nutzen. Das bedeutet, die App kann mehrere Netzwerkschnittstellen gleichzeitig nutzen oder nahtlos zwischen WLAN und Mobilfunkdaten wechseln, um eine robustere Netzwerkverbindung zu erreichen (nützlich für VPNs oder Streaming, bei denen Konnektivität entscheidend ist).
•Das Network Extensions-Entitlement erlaubt der sideloadeten App, bestimmte netzwerkbezogene App-Erweiterungen zu erstellen, die die Netzwerkfähigkeiten des Systems erweitern. Je nach den Array-Werten kann dies VPN-Tunnel-Provider, Content-Filter, Packet-Tunnel-Provider, DNS-Proxys/-Einstellungen usw. erlauben.
•Das Personal VPN-Entitlement erlaubt der sideloadeten App, die Personal-VPN-API zu nutzen, das heißt, sie kann VPN-Verbindungen aufbauen und verwalten. Das Vorhandensein dieses Entitlements zeigt an, dass die App VPN-Konfigurationen programmgesteuert als Personal-VPN-Client erstellen darf.
Audio & Siri:
•Das Push-to-Talk-Entitlement ermöglicht es der sideloadeten App, an Push-to-Talk-Audiositzungen teilzunehmen (Walkie-Talkie-artige Kommunikation). Mit diesem Entitlement kann die App dem System PTT-Kanäle melden und das Senden/Empfangen von Audio im Hintergrund verwalten (z. B. für Apps mit Zwei-Wege-Funk-Funktionen).
•Das Inter-App Audio-Entitlement erlaubt der sideloadeten App, Audio an andere Apps auf dem Gerät zu senden und von ihnen zu empfangen, die ebenfalls Inter-App Audio unterstützen. Dies wurde von Musik- und Audio-Apps genutzt, um Audio zwischen Apps zu streamen (zum Beispiel die Verbindung einer Gitarren-Effekt-App mit einer Aufnahme-App). Hinweis: Dieses Entitlement ist seit iOS 13 veraltet.
•Das Siri Integration-Entitlement erlaubt der sideloadeten App, sich über SiriKit mit Siri zu integrieren. Apps mit diesem Entitlement können Siri-Anfragen/-Intents verarbeiten (zum Beispiel Nachrichten senden, Fahrten buchen oder andere zur App gehörende SiriKit-Domänen-Interaktionen).
Hardware/Device Integration:
•Das HomeKit-Entitlement ermöglicht es der sideloadeten App, mit HomeKit-Zubehör und Heimautomatisierungsgeräten zu interagieren. Damit kann die App Smart-Home-Geräte (Lampen, Schlösser, Thermostate usw.) steuern und sich in das Home-App-Setup des Nutzers integrieren.
•Das NFC Tag Reading-Entitlement erlaubt der sideloadeten App, mit Core NFC NFC-Tags bestimmter Typen zu lesen. Im Profil gibt das Array ['NDEF', 'TAG', 'PACE'] an, dass die App standardmäßige NDEF-Tags, allgemeine NFC-Tags und PACE-Tags (verwendet in elektronischen Pässen) lesen kann, was die NFC-Scan-Funktionalität ermöglicht.
•Das Wireless Accessory Configuration-Entitlement erlaubt der sideloadeten App, externes Zubehör drahtlos zu konfigurieren oder mit ihm zu kommunizieren. Apps mit diesem Entitlement können WLAN-/Bluetooth-Zubehör (typischerweise Made-for-iPhone-/Apple-zertifiziertes Zubehör) einrichten, indem sie Konfigurationsdaten an es senden.
HealthKit & Wellness:
•Das HealthKit-Entitlement gewährt der sideloadeten App mit Zustimmung des Nutzers die Berechtigung, auf HealthKit-Daten (wie Workouts, Ernährung, Vitalwerte) zuzugreifen. Dies ist für jede App erforderlich, die Gesundheitsdaten aus der Apple-Health-Datenbank liest oder in sie schreibt.
•Das Health Records Access-Entitlement erlaubt der sideloadeten App den Zugriff auf bestimmte sensible Gesundheitsdatentypen, die eine besondere Genehmigung erfordern, wie Health Records (klinische Gesundheitsakten von Krankenhäusern) über HealthKit. Die App gibt an, welchen Datentyp sie benötigt (hier enthält das Array "health-records"). Nur Apps mit diesem (von Apple gewährten) Entitlement können diese eingeschränkten Health-Record-Typen lesen.
•Das HealthKit Background Delivery-Entitlement. Ein Boolescher Wert, der es der sideloadeten App erlaubt, HealthKit-Updates zu empfangen, während sie im Hintergrund läuft. Mit aktivierter Option können die HealthKit-Observer-Queries der App weiterhin Daten-Updates erhalten, auch wenn die App nicht im Vordergrund ist (nützlich für die Überwachung häufig wechselnder Gesundheitsdaten wie der Herzfrequenz nahezu in Echtzeit).
Apple Services & Features:
•Das Apple Pay (Merchant ID)-Entitlement erlaubt der sideloadeten App, Apple Pay zu nutzen, um in der App Zahlungen für physische Waren oder Dienstleistungen anzunehmen.
•Das Wallet Passes (PassKit)-Entitlement enthält typischerweise die Pass Type IDs, die die App nutzen kann.
•Das Game Center-Entitlement gibt an, dass sich die sideloadete App mit Game Center, Apples sozialem Gaming-Netzwerk, integrieren kann. Wenn aktiviert, darf die App Game-Center-Funktionen wie Bestenlisten, Erfolge und Mehrspieler-Matchmaking nutzen.
•Das ClassKit-Entitlement. Gibt die Umgebung für Apples ClassKit-Framework an (verwendet mit der App „Schoolwork“/„Aufgaben“). Dies ermöglicht es einer Bildungs-App, den Lernfortschritt von Schülern privat und sicher mit Lehrern zu teilen. Der Wert kann "development" oder "production" sein – bei uns ist er auf production gesetzt, das heißt, die App ist dafür konfiguriert, mit der Schoolwork-App in einer echten Klassenzimmer-Umgebung zu funktionieren (nicht nur im Entwicklungstest).
•Das WeatherKit-Entitlement erlaubt der App, mit WeatherKit Wetterdaten von Apples Wetterdienst abzurufen. Mit diesem Entitlement kann die App aktuelles Wetter, Vorhersagen und andere Klimadaten über Apples WeatherKit-APIs anfordern.
System Resource Access:
•Das Extended Virtual Addressing-Entitlement erlaubt der App, einen größeren virtuellen Adressraum zu nutzen, also mehr Speicher als eine typische App zu belegen. Dies wird in der Regel Apps gewährt, die sehr große Datensätze oder speicherintensive Vorgänge auf unterstützten Geräten verarbeiten müssen.
•Das Increased Memory Limit-Entitlement ermöglicht es der sideloadeten App, die normalen App-Speicherlimits auf Geräten zu überschreiten. Apps mit diesem Entitlement können mehr RAM als Standard-Apps nutzen, bevor das System sie wegen Speicherverbrauchs beendet, was für leistungsstarke oder ressourcenintensive Anwendungen nützlich ist.
•Das Increased Debugging Memory-Entitlement. Ähnlich wie oben, erlaubt es der sideloadeten App jedoch speziell, während des Debuggings mehr Speicher zu nutzen. Dies hilft zu verhindern, dass die App während einer Debugging-Sitzung wegen Speichers beendet wird. (Es wird typischerweise während der Entwicklung verwendet, um das Testen von Szenarien mit hohem Speicherbedarf bei angehängtem Debugger zu erleichtern.)
Diese strukturierte Liste soll verdeutlichen, welche Berechtigungen oder Funktionen jeder Entitlement-Schlüssel erlaubt. Jeder Schlüssel entspricht einer aktivierten Fähigkeit oder Integration, die die sideloadete App nutzen kann.
