13

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?

Bot
  • 11,868
  • 11
  • 75
  • 131
Ser Pounce
  • 14,196
  • 18
  • 84
  • 169

7 Answers7

10

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.

Chris
  • 39,719
  • 45
  • 189
  • 235
  • That was my issue as well. The thing is I had updated some certificates and XCode naturally got all confused and picked the wrong certificates for all my build settings. Chose the correct certs and all was fine. – n13 Apr 02 '13 at 00:18
3

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!

David Douglas
  • 10,377
  • 2
  • 55
  • 53
2

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

Bot
  • 11,868
  • 11
  • 75
  • 131
  • Any idea what to change them to? I generated an entitlements file, but am still lost. – Ser Pounce Nov 08 '12 at 18:44
  • Thanks for putting that screen shot. That's how mine looked: $(AppIdentifierPrefix).myapp.My-App-Lite. Do I need to change the "your.bundle.identifier" to something else? – Ser Pounce Nov 08 '12 at 21:42
  • @StackOverFlowRider no, the bundle identifier should be what you have in your target bundle identifier. Also make sure it is a different identifier than your full version and that you downloaded new certs for it from apple's developer portal. Another thing to check is that you are signing it with the newly downloaded certs for the Lite version. – Bot Nov 08 '12 at 21:44
  • This happens with Apps which aren't using entitlements... then what? – ocodo Feb 04 '13 at 01:14
  • @Slomojo I believe you need to use entitlements in the new version of xcode. Atleast that is what happened to me until I used entitlements – Bot Feb 04 '13 at 19:25
  • @Bot - I fixed this by making sure my provisioning profiles were in order, there had been an update to the certificates done, which we thought was older than the profiles. It wasn't. - I'll add in another answer. – ocodo Feb 05 '13 at 00:37
0

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.)

ocodo
  • 29,401
  • 18
  • 105
  • 117
0

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

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.

karim
  • 15,408
  • 7
  • 58
  • 96
0

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

Shefy Gur-ary
  • 628
  • 8
  • 19