Do I still need an Entitlements.plist file for an ad-hoc build?

24,734

Solution 1

As of Xcode 4.2 you no longer have to create an Entitlements.plist file when creating applications that do not require any special permissions to run. The get-task-allow entitlement is automatically set to true or false, depending on what kind of provisioning profile you sign your application with (Developer, Ad Hoc, or App Store).

ref:http://help.testflightapp.com/customer/portal/articles/535398-invalid-profile-distribution-build-entitlements-must-have-get-task-allow-set-to-false-

Solution 2

i just tried , no need entitlements for simply ad-hoc , simply using ad-hoc profile to archive and share , then fine .

Solution 3

From the iOS Developer library:

If you're doing an Ad Hoc distribution, you must properly configure your project to include an Entitlements.plist file and uncheck the get-task-allow checkbox (which sets it to False). http://developer.apple.com/library/ios/#technotes/tn2242/_index.html

There's no issue with leaving the Entitlements.plist file in the Distribution build, I've had several apps submitted with it. Actually, Entitlements.plist is also for other iOS features that your app may use:

Entitlements. These files define properties that provide your application access to iOS features (such as push notifications) and secure data (such as the user’s keychain).

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

Also check this answer: The executable was signed with invalid entitlements

Solution 4

Get-task-allow is now called "Can be debugged" in Xcode 4.1 if you've used the modernization tool

Share:
24,734
Admin
Author by

Admin

Updated on July 11, 2022

Comments

  • Admin
    Admin almost 2 years

    The instructions given in the Distribution page on the iOS Provisioning portal clearly still describe the process of creating, and including the Entitlements.plist file in a build for an ad-hoc distribution. The iOS Development Guide's Distributing Applications page, on the other hand, makes no mention of the Entitlements.plist file.

    When I tried to "Build and Archive" our latest app following the instructions from the iOS Development Guide, the resulting ad-hoc app.ipa wouldn't install on my development device, due to a problem with the entitlements. When I rebuilt with the Entitlements.plist file, the new app.ipa installed fine.

    Unfortunately, including the Entitlements.plist in the app.ipa means that the resulting build can't simply be re-signed and submitted to the app store - Right? Instead, I have to rebuild without the Entitlements.plist and submit the result to the app store.

    I guess that I really have a few related questions:

    1. Would the app.ipa produced as directed in the iOS Development Guide (no Entitlements.plist, just sign with the ad-hoc distribution provisioning profile) install OK on a non-dev device that was properly identified in the test distribution provisioning profile?
    2. Is there any way for me to test the exact results of a "Build and Archive" on my dev machine, so that I can just re-sign it and submit it to the App Store from Xcode?
    3. Will an app.ipa that explicitly includes an Entitlements.plist file be rejected if I did submit it?

    Thanks!