I’ve been banging my head on my desk all day over this, but hopefully I’ve stumbled onto the right solution.
I’m building an internal iPhone application, and am using ad-hoc distribution profiles to get it onto people’s phones in house. Trouble was, for some reason I kept getting the error:
The application “foo” was not installed onto “bar” because the entitlements are not valid.
(something to that effect)
Now, I had my
Entitlements.plist file; I had
get-task-allow unchecked; the provisioning profile’s application ID was a wildcard that matched the start of the application name. But still, no dice. I generated new app IDs, generated new provisioning profiles a dozen times, but still couldn’t install it on any phone.
What I did try, though, is in the project’s build settings: there is an entry “Code Signing Entitlements” just above “Code Signing Identity”. By default, it’s blank, and it was blank in my other iPhone application project, which I had been successfully beta testing for two months. I simply set that entry to the file name of my entitlements file, “Entitlements.plist,” rebuilt, and it worked!
I’m not sure if this is the generally correct solution, but it seemed to work in this case.