Search code examples
xcodexcode4

Xcode: project entitlements


In Xcode 4, there is a Myproject.entitlements file.

What's it for?

In general, what are the "entitlements"? What are they for?


Solution

  • It's related to iCloud and push notifications (on iOS and Mac OS X) and the App Sandbox feature (in OS X only).

    There is more information in Entitlement Key Reference. App Sandbox is documented in App Sandbox Design Guide:

    An app that is not sandboxed has access to all user-accessible system resources—including the built-in camera and microphone, network sockets, printing, and most of the file system. If successfully attacked by malicious code, such an app becomes a hostile agent with wide-ranging potential to inflict harm.

    When you enable App Sandbox for your app, you remove all but a minimal set of privileges and then deliberately restore them, one-by-one, using entitlements. An entitlement is a key-value pair that identifies a specific capability, such as the capability to open an outbound network socket.