Although I have already submitted my app using Build And Archive and then clicking on the Submit to iTunes connect I will ask the question anyway. Apple says that select a Distribution profile when submitting to Apple. So, I went on iTunes and downloaded the Distribution profile. I added profile to xCode. I did the build and archive option then validated the application. Everything was validated successfully. Before submitting the application I noticed that there is a big question mark on the left hand side saying "Application Info". This is strange because I have already filled out all the name, description, version, keywords etc on the iTunes connect website. Anyway, I submitted the app and now it shows "Waiting for review".
Will the validation catch the exception if I try to submit the app for any profile other than the distribution? I am asking this because I have several profiles I created for BETA testing.
UPDATE 1:
One other thing I am noticing is that even though when I select the distribution profile and do build and archive. When I open the archive.plist file in the archive folder the XCProfileUUID value matches that of the Team Provisioning Profile and not to the distribution profile. Not sure what is that??
Validation does not check, to my knowledge, which profile you built & signed with. It only checks that you selected a valid profile.
You must ensure that you have selected your distribution profile under Project > Select Active Build Configuration. There are a number of other application settings you need to verify are filled out properly.
Apple provides a great step-by-step Howto in one of the tabs online where you create & download your Distribution profile. As long as you followed those steps & properly set the Build Configuration, you should be golden.
The validation would not have passed if it was incorrectly signed.
I don't know if it is too late to talk about a solution of the issue. Anyways, based on my personal experience, the big question mark in the "Build & Archive" screen indicates that you have not explicitly specified the icon name for the "Icon file" key in the info.plist file of your app. Don't worry, this issue only relates to the "Build & Archive" screen, and your submitted app is still as good without the explicit declaration of icon file, rest assured!
Related
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?
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.
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!
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
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.)
Here's what worked for me:
Using Automatic (Enterprise Distribution) Profile Selection for all Code Signing Identities I've Established.
Selecting "Refresh Certificates" when going through the Enterprise/Ad Hoc distribution workflow
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.
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):
I ran into another iPhone problem again. I finished my app, and I need to test it on my phone before I submit it to the app store. But, whenever I press Run, I get an error message like this.
"The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016)"
I have a Provisioning profile for development and distribution, and certificate with keys for develoment and distribution as wells as my device is listed in the portal.
I'm not really an expert at Xcode, so if you do answer, can you please explain a fix detailing every step. I know lots of other people have asked this problem, but I can't follow there answers.
Thanks in advance,
Will
Having the provisioning profile isn't the same as setting it in your build settings to run with the project. Click your Target on the left sidebar and then click the Project. Click the Build Settings tab. Under code signing, select the proper provisioning profile in each of the drop down boxes. It should build properly after that, assuming you do have the proper provisioning profile and certificate.
If you're just now testing on your phone right before you submit to the store that's a whole other problem, but I suppose you'll figure that out yourself.
Check that the build configuration you use is not pointing to some Entitlements.plist file, which in its turn might be non-existent or containing wrong data about certificate/profile pair. If that the case, the settings in latter will override anything you set in the build settings resulting in having wrong actual certificate used.
To double-check this find your configuration in the "Code Signing Entitlements" section in the Target/Project Build Settings.
In my case I had exactly the same alert when it was pointing to an "entitlements.plist", which could not be found anywhere in the project. Clearing any mentioning of this file for the target build configuration fixed the problem for me.
This is driving me crazy. I've tried searching for answers and nothing quite matches my problem.
I've successfully archived my app and need to upload it to iTunes Connect. Apple recommends Application Loader but first needs to be done in Xcode. When I attempt to validate or Distribute the app in Xcode, I get an error saying "No Identities are available for signing"
I'm confused because I've wiped my certificates and profiles clean but I continue to get this message. Any ideas what I'm missing?
"No identities available for signing" can get frustrating. What you should do is regenerate your distribution certificate and profile, that should fix the issue.
If you need help regenerating: Download and open the new distribution certificate, which will store it in your keychain. Then, drag-and-drop the profile into your Xcode organizer. Next, your going to click on the project in the upper left (it has a blue icon next to it), that will bring up the projects info. There should be 2 tabs at the top of the screen, "Info" and "Build Settings". When you click on Build Settings, the option to change the code signing is about halfway down the screen. When I ran into this issue, I had to change every single one of the code signing options to iPhone Distribution. (It might not be necessary to change every field, but I did). You should be good to go after this, let me know if you have anymore issues.
I solved the problem by deleting ALL dev profiles and recreating a single provisional profile for Distribution and Developing each. Xcode then selected the profiles automatically without me having to import them into Xcode.
I've developed an application for an extern distributor. Now, they want to publish the application.
I decided to create an xcarchive of the complete app with Xcode. But I have problems with the bundle identifier. Have I to choose an identifier and the distributor creates the provisiong profile and the certificate?
Would be great if you can tell me what I have to look for!
Your Distributor needs to have a "Company" Apple Developer Account.
They invite you to their organization as a "Member"
You accept their invitation.
the next time you login to developer.apple.come you will be presented with a Team droplist (your team and their team)
Select Their team.
Now, go to the iOS provisioning Portal->Certificates. Generate a Developer Certificate. they will have to approve this, so let them know the request is coming.
Once you have a Developer Certificate they will need to make\modify a Developer Provisioning Profile, with your certificate enabled in the Profile, for the AppID in question.
Once this Profile is created you download it.
Now you have their Full Bundle ID (the GUID and the "com.customer.app")
Now you change Code Sign Identity for Release to "iPhone Developer".
You Build and Archive the app using the Developer Provisioning Profile.
In the Organizer you will see the app you just built, right-click on the app and do a "show in finder".
Zip up the .XCARCHIVE file and send it to your Distributor.
They will unzip and double-click on the .XCARCHIVE file, this will import it into their XCode's Organizer.
From Organizer they can ReSign the app for "iPhone Distribution" using the same Bundle ID that was used to compile the app.
They can distribute it as they see fit.
I'll assume that you're using xCode 4 (or above ) for this.
You're going to want to open your scheme editor (The drop down menu next to the 'Run' and 'Stop' button contains this). Select the 'Archive' scheme and make sure that it's building a release (or distribution ) copy of your app and not a debug version.
The speculative part of the question, it's probably different for each distributor, I'm assuming your distributor is already set up as an iOS Developer (ie they can distribute on the app store already) I just set the bundle identifier to something appropriate com.nameOfDistributor.nameOfApp.
In xCode 4 you don't need to worry about any provisioning profiles etc, or certificates, just archive that up and send it to the distributor. Just send them a note of what the bundle ID was, and they should be able to do all the code signing in xCode themselves if they're using xCode 4 that is.
If the distributor is unhappy with that they usually just email us back and we sort it out. But just archive the release build of the app and send it to them letting them know what you used as a bundle id (also let them know the version number if you've been incrementing that as development has progressed).
Please help me export my application to iTunes Connect. I dont understand the documents, I have tried my best. I cant find the release of my .app, only the debug version.
I am using xcode 4. Also I dont know if I have signed the application correctly.
Here is a screenshot of my build settings, are these correct.
I setup a distribution certificate, an app ID with a wildcard mask, and a provisioning profile for the App Store, this provisioning profile is then imported into the organizer and on the screenshot below, you see I have assigned it to the Release build.
I cant find the release build at all on my system, only the debug file and would you say my certificates/profiles are set up currently.
Make sure you have configured the Archive panel for the scheme with the name of the archive to create
Then choose Product | Archive from Xcode's menu
Then have a look in your organiser's Archive section
And here are the docs you should be looking at.
First, make sure your Scheme is set to Release. Then, Build your app. If all goes well with no errors, you should be able to get your release build of your app in your Derived Data directory (this is the default Xcode 4 location).
If you don't see anything in Derived Data, check under Xcode->Preferences and go to the Locations tab. That will show you where your builds are going.
Unless I misunderstand the question, to send your app to iTunes connect from Xcode4 you choose Product -> Archive from the menu.
If your certs and IDs are correct, and they seem to be, then you will be shown the Archives view in the Organizer. Select the recent Archive and choose Validate.
If it validates, choose Submit. Your app should be submitted to iTunes Connect.