13
votes

I recently created a new target in my project for the Lite version of my app. Now when I go to upload the .ipa to TestFlight so I can distribute it to my designer, I'm getting:

Invalid IPA: The keychain-access-group in the embedded.mobileprovision and your binary don't match.

Seems clear to me the reason this is happening is because of the new target. Does anyone know what exactly do I need to change to get this to work?

7

7 Answers

10
votes

I had this same problem. It was caused by having the wrong release code signing identity in the target's build settings. You won't need an entitlements file.

3
votes

Check you are code signing with the correct Distribution profile.

Under Xcode project select > Build Settings > Code Signing

Code Signing Identity: - Debug > iPhone Developer - Release > iPhone Distribution

Provisioning Profile: - Be sure to select a Distribution profile here!

2
votes

When you created a new bundle you probably didn't change the entitlements and access groups. Make sure you change these in the entitlements file. Have a look at http://www.karlmonaghan.com/2012/08/09/invalid-ipa-the-keychain-access-group-in-the-embedded-mobileprovision-and-your-binary-dont-match/ on how to do this.

Should look like this

enter image description here

0
votes

If you don't use an entitlements file...

Double check that your developer certificate and provisioning profile used are up-to-date (even if you have the confidence inspiring green tick in the organiser.) Refresh the profile by visiting the Apple Provisioning Portal and edit / modify the provisioning profile, you're using to sign the app.

Un-click and click the signing identity, so that you can submit the form, and the profile will be regenerated.

Wait a minute (really), Go back to XCode and remove the profile from the organiser, next refresh the profiles, and it should re-appear, as the regenerated version.

Once that's done, try archiving / signing the ipa, and upload to TestFlight.

(use the TestFlight app, to speed up this process.)

0
votes

Here's what worked for me:

  1. Using Automatic (Enterprise Distribution) Profile Selection for all Code Signing Identities I've Established.
  2. Selecting "Refresh Certificates" when going through the Enterprise/Ad Hoc distribution workflow
0
votes

I have such kind of problem, I am not sure you have the same one or not.

If I have a installed app with the same app id that I am going to install but with a different target, it creates problem. Seems apps are unique with app id and target. So I had to delete the app to install another app with the same app id but different target.

0
votes

You have good other answers here, but just to stress something out.

If you worked for more than 1 client, and you actually used more than 1 developer account, then the automatic selection of Code Signing Identity on Archive wizard could be different than the one you need, and you might need to select it each time you create the AdHoc version.

Here is a picture, to show you where your error might be (thats where mine was):

enter image description here