Show: Object Pascal C++
Display Preferences

Entitlement List

From Appmethod Topics
Jump to: navigation, search

Go Up to Compiler-Related Project Options

Project > Options > Entitlement List

You describe the way an iOS or a Mac OS X application interacts with the system with the entitlements. An entitlement is a key-value pair, defined in a property list file that confers a specific capability or security permission to a target. For example, there are entitlement keys to indicate that your application needs access to the camera, the network, and user data such as address Book. For details on all the entitlements available, see the corresponding “Entitlement Key Reference”:

Options Description

Target, Apply, Save

See Target Options.

Common items

See Common Items on Project Options Pages.


Entitlement List for Mac OS X

Sets the entitlement options of the current Mac OS X project. It is empty when you select an unsupported target platform in the Target combo box.

Examples of entitlements you might choose to set:

  • Interaction with USB devices
  • Read/write access, address book
  • Read-only access, Music folder
  • Use of the computer's geographical location

Setting a specific entitlement entitles your application to use that specific privilege at run time.

The Entitlement List controls run-time program access to system resources. Entitlements are restricted due to Apple sandboxing requirements.

Entitlement List options Description

Left-hand column

Lists the target platform entitlements. Most entitlements are Boolean values (True/False).

For descriptions of the entitlements, see Enabling App Sandbox from Apple.

Right-hand column

Specifies the settings for the entitlements, typically either True or False.

To change the value of an option, do either of the following:

  • Click the checkbox NewerTrueCheckbox.png (to change from False to True, for example).
  • Click the down-arrow Down Arrow to select from the available choices.


Entitlement List for iOS

Sets the entitlement options of the current iOS project. It is empty when you select an unsupported target platform in the Target combo box.

The Entitlement List controls run-time program access to system resources. Entitlements are restricted due to Apple sandboxing requirements.

Entitlement List options Description

Left-hand column

Lists the target platform entitlements. Most entitlements are Boolean values (True/False).

For descriptions of the entitlements, see Enabling App Sandbox from Apple.

Right-hand column

Specifies the settings for the entitlements, typically either True or False.

To change the value of an option, do either of the following:

  • Click the checkbox NewerTrueCheckbox.png (to change from False to True, for example).
  • Click the down-arrow Down Arrow to select from the available choices.


Customizing Your Entitlement List

Appmethod allows you to manually edit the entitlements file for a single project, and also to predefine entitlement keys for all your projects.

When you build an application for either the iOS target platform or the Mac OS X target platform for the first time, Appmethod adds a file to your project folder: Entitlement.TemplateiOS.xml, or Entitlement.TemplateOSX32.xml, depending on the target. Whenever you build your application for iOS or Mac OS X, Appmethod reads this file, replaces some placeholders in the file with actual values from your project options, and writes the resulting content into an output file: <project folder>\<platform>\<build configuration>\<project_name>.entitlements. This output file is the xml file that is included in the package that Appmethod generates when you deploy your iOS or Mac OS X application.

You can customize the content of the Entitlement.TemplateiOS.xml file , or Entitlement.TemplateOSX32.xml file , depending on the target, if you need to include custom data in this file that you cannot define visually in your project options.

To customize the Entitlement list for a single project, edit the content of the xml file that is placed in your project folder. The name of the file is Entitlement.TemplateiOS.xml, or Entitlement.TemplateOSX32.xml, depending on the target.

You can also predefine entitlement keys for all your projects. The xml files that Appmethod adds to a project when you build that project for the iOS or Mac OS X target platform for the first time comes from C:\Users\<username>\AppData\Roaming\Embarcadero\Studio\14.0\Entitlement.TemplateiOS.xml or Entitlement.TemplateOSX32.xml, depending on the target. If you want your new projects to have a different starting xml file, edit these files.

Warning: You must save your project in a specific folder to have its own entitlement file.
Note: Notice that the name of the generic xml file is the same as the name of your project's xml file. Be careful if you want to modify the starting point of all your projects, or only the entitlements for one project in particular.

See Also

Personal tools
In other languages