Show: Object Pascal C++
Display Preferences

Entitlement List

From Appmethod Topics
Jump to: navigation, search

Go Up to Project Options Dialog Box

Project > Options > Entitlement List

You describe the way an 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.

Options Description

Target, Apply, Save

See Target Options.

Common items

See Common Items on Project Options Pages.

Entitlement List

The Entitlement List controls run-time program access to system resources. Setting a specific entitlement entitles your application to use that specific privilege at run time.

The Entitlement List sets the entitlement options of the current project. The list is empty when you select an unsupported target platform in the Target combo box.

Entitlement List options Description

Left-hand column

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

Right-hand column

Specifies the settings for the entitlements, 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 Android

Sets the entitlement options of the current Android project. Select Android platform in the Target combo box.

Examples of entitlements you can set in an Android application:

  • AdMob Service: To enable Google advertising service for an Android application.
  • Receive push notifications: To enable GCM support in an Android application and receive data from remote servers.

Entitlement List for Mac OS X

Sets the entitlement options of the current Mac OS X project. Select OS X 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

Note: Entitlements are restricted due to Apple sandboxing requirements.

Entitlement List for iOS

Appmethod does not allow you to set any Entitlement for the current iOS project from the IDE, although you can manually customize the entitlements file.

Note: Entitlements are restricted due to Apple sandboxing requirements.

Customizing Your Entitlement List for iOS or Mac OS X

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\BDS\17.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