Entitlement(权限),可以想象成App里用于描述该App可以调用哪些服务的字符串。苹果的操作系统(mac os或者iOS)会通过检查这个串,决定这个应用是否可以调用相关功能。比如iCloud权限,推送服务,健康服务等。
entitlement[英][?n?ta?tlm?nt][美][?n?ta?tlm?nt]n.授权; 应得权益; 命名、被定名; 复数:entitlements
About Entitlements
Entitlements confer specific capabilities or security permissions to your iOS or macOS app.
At a Glance
Set entitlement values in order to enable iCloud, push notifications, Apple Pay, and App Sandbox. Each entitlement has a default value, which in most cases disables the capability associated with the entitlement. When you set an entitlement, you are overriding the default by providing an appropriate key-value pair.
- iCloud entitlements let you enable the use of iCloud data storage for your iOS or macOS app.
You set iCloud entitlement values on a target-by-target basis in your Xcode project.
- Push notifications let your app alert the user even when your iOS or macOS app is not executing.
You set push notification entitlement values as part of configuring your development and distribution provisioning profiles.
- Apple Pay and PassKit Entitlements enable in-app payments using Apple Pay, and allow your app to access passes from the PassKit library.
- App Sandbox entitlements let you enable the security feature called sandboxing for your macOS app. (In iOS, all apps are sandboxed automatically, so these sandboxing entitlements do not apply.)
By carefully enabling only the resource access that you need, you minimize the potential for damage if malicious code successfully exploits your app. You set App Sandbox entitlement values on a target-by-target basis in your Xcode project.
You can set many entitlements using the Summary tab of the Xcode target editor. Other entitlements require editing a target’s entitlements property list file. Finally, a few entitlements are inherited from the iOS provisioning profile used to run the app.
The sort of value to associate with an entitlement key depends on the key. Many entitlement keys take Boolean values. For entitlements defined in a property list in an Xcode project, a Boolean entitlement value is either <true/>
or <false/>
. Some entitlement keys take a string or an array of strings as a value. Refer to the chapters in this document for specifics on the values to apply to the various entitlement keys.
To use any entitlement keys, you must code sign your app because an app’s entitlements are built in to its code signature.