How to Create Entitlement.Plist File in Xcode

How to create Entitlement.plist file in Xcode?

You can manage the Entitlements in the Capabilities tab of your target settings.

Any change there will automatically update either the Entitlements.plist or the Info.plist file.

That being said, an Entitlements.plist file is in the end just a plist. You can add as much plists as you like following the steps provided in this question.

how to create Entitlements.plist for push notification in XCODE 4.2?

As a possible solution, have you imported the appropriate provisioning profile?

Go to Window->Organizer.

From the left side of the window choose LIBRARY -> Provisioning Profiles.

Choose Import (at the bottom) and import the APNs Provisioning Profile that you created for your app.

How to add Entitlement.plist in xCode 4.2

Select the target in your project and scroll down. You'll see the option to add a custom entitlement.

Sample Image

For creating a new entitlement, just create a new plist file from new file menu item. Change it's type to iPhone entitlements as shown below.
Sample Image

What is the use of entitlements.plist file?

  1. The entitlements file defines certain capabilities of your app. Usually, the file is automatically generated by Xcode when you enable a capability for your app.
  2. You only need the file if you enable certain capabilities, e.g. Healthkit integration. If you'd like to use these features, you have to add it. Otherwise, Apple will reject your app.
  3. You can name the file like you want. You can also rename it as long as the build settings point to the correct file name for it.

How to locate the entitlements plist file in an XCode 6.3 iOS project

Answer

My app was using the default capabilities in which case there is no entitlements.plist file. I was able to add one by adding some capabilities in the UI (and then removing them again).

Follow up

In the end this did not solve my problem, which turned out to be different since this entitlement was already in the previously generated profile (with default capabilities). I only noticed this when comparing the generated profiles (they were identical).

The error in the console log seems to be caused by a difference in the plist:

Previous provisioning profile:

<key>com.apple.developer.team-identifier</key>
<array>
<string>SomeIdentifier</string>
</array>

New provisioning profile:

<key>com.apple.developer.team-identifier</key>
<string>SomeIdentifier</string>

It may be possible to get the provisioning profile compatible again by adding an extra team-identifier so that it becomes an array again, but that's a different question that the one I asked here.

Entitlements.plist not created properly

Try, in XCode, to go "new file" and in the wizard select "code signing". Select the "Entitlements" file type.

Just name it "Entitlements.plist".
Make sure the task-allow is not checked for adhoc distrobution.

This is all you need to do, no need to "roll your own" :)

(Xcode 3.2.2)

UPDATE:

Since Xcode 4.2 the Entitlements.plist was removed from the "new file" menu. You now find it under: Project's Targets > Summary at the bottom of the page.

iPhone build configurations - Entitlements.plist

Sure. In the build settings, you can specify a different Entitlements plist file for specific build configurations. Just set the appropriate one for Debug and a different one for release/distribution etc.

The settings is called "Code Signing Entitlements" or "CODE_SIGN_ENTITLEMENTS" depending on whether you have show names or titles set.

Just specify the name of the Entitlements.plist file you wish to use, eg:

Entitlements-Debug.plist

or

Entitlements-Distribution.plist


Related Topics



Leave a reply



Submit