问题
I made an Ad Hoc build for my application. I tried to install it on my device but error message is coming like this: The application XXX is not able to install on the device YYY because entitlements are not valid. I made many builds successfully before this using the same machine. But I don't know what is happening now. I searched for a solution a lot. But everywhere the solution is like this:
- restart your iphone and machine
- add Entitlements.plist on code signing entitlements.
I experimented many methods but no hope. Please help if you know a solution for this.
回答1:
Make sure you have an application icon. I was between icon versions and adding it back in solved this error for me.
回答2:
I had the same error for a long time until I found that my bundle identifier (in target properties) contained the 10-character app id seed itself. When I removed it from there and added to entitlements.plist 'application-identifier' I got no warning or error anymore.
Hope that helps somebody else too.
回答3:
I had the same issue after an upgrade to XCode 4.5 (distribution build) on Lion,
Select your target and in the Summary Pane Go to the Entitlements Section Check the check box that says "Entitlements" and select your target from the drop-down, this will create a TARGET_NAME.entitlements file in your project now do a clean and build again
Looks like the upgrade to 4.5 or downgrade from 4.5 breaks the distribution profile identity.
If you run your project in an XCode lower than 4.5 after this you might have to delete this newly created TARGET_NAME.entitlements file from your project.
Hope this helps someone :)
回答4:
Hey check the below link.
This will solve your problem.
Check my answer in this link it will help you.
Ad-Hoc distribution - The application "<application name>" was not install on the iPhone "<iPhone name>" because the signer is not valid
If you have any doubts then you can just leave a comment here.
EDIT:
Also did you create an Entitlements plist?
You need to create it and add it into your Resources folder.
you need to add get-task-allow
of type Boolean with value false
And then add the Entitlements.plist as your Code Signing Entitlements
in your app target's properties.
Hope this helps you.
回答5:
@praveen what version of Xcode are you using? If you are on Xcode 4 here are some step by step instructions for making your ad hoc. @PARTH I haven't had to edit an Entitlements.plist file for some time now, the default that is created when you make one has been working fine for me.
回答6:
Something "interesting" I found out. Upon upgrading to Xcode 4 and SDK 4.3, I started getting a warning "This bundle is invalid. The application-identifier entitlement is not formatted correctly; it should contain your 10-character App ID Seed, followed by a dot, followed by your bundle identifier". Adding the application-identifier to my dist.plist file solved this warning, but then the app would not install on itunes with the entitlements not valid error. So, in this case remove the application-identifier key from your entitlements plist even though it gives you a warning.
回答7:
I had the same problem and tried all sorts of combinations. What I think solved it for me was to put the Entitlements.plist file at the root of my project and not in the resources folder.
回答8:
Had exactly this error after downgrading to Xcode 4.4.1 from one of the 4.5 betas.
Seems that something changed the signing certificate that was being chosen; reseting this to the original value fixed the problem. So it had nothing to do with entitlements (I'm guessing that the earlier signing failure wasn't thrown and the entitlement error is just the next problem it ran into).
来源:https://stackoverflow.com/questions/5501795/entitlements-are-not-valid-error-while-installing-ad-hoc-build-on-device