Generating an application bundle for submission with Xcode 4 - iphone

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.

Related

Error When Uploading IPA to TestFlight Using New Target

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

distribution profile not displaying while posting app on appstore?

i have successfully created provisioning and distribution certificates and ready to upload my app. but, while posting i can't access to select the distribution profile?
#NeerajNeeru:
Firstly, Make sure that you download a new copy of distribution provisioning profile for App Store from the account you want to submit the application with and install the same profile by double clicking it. Once you do that select it under your Project Settings and Target Settings under the Release section.
Secondly, Make sure you have selected Release to be run under Archive under Manage Schemes before you build for archiving and archive the app.
Once you select Release under Archive in Manage Schemes, make sure you do Product -> Clean your application and then do Product -> Build For Archiving and then Product -> Archive.
EDIT:
Refer to this: Xcode 4.3: Codesign operation failed (Check that the identity you selected is valid)
Let me know if you need more help
Hope this helps.
i think you have not opened the downloaded profile, download the profile from developer.apple.com and doble click it. it will be able to select now, and re assign profile in your project and target files even they have already selected.

Error Validating and uploading App to iTunes Connect

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.

Build and Archive Option in XCode and Submit to iTunes

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!

How do I build an xcode project for the itunes store?

I've got my apps running on my iphone, great, however to list on the itunes store I need the "universal binary" thing.
I've tried finding answers, but I can't seem to find a concise useable explanation to doing this in xcode. I always get errors when I try to build a binary. Can anyone point me towards a basic step-by-step procedure I can follow to creating a universal executable binary which can be uploaded on the itunes store?
One more thing, is there some type of app, like the rename project app, or applescript thing, that can do this for me with a few clicks?
Try this:
Prepare a new provisioning profile for App Store
Make sure you have Ad Hoc distribution working OK.
Go onto the Program Portal > Provisioning > Distribution
New Profile button
Distribution Method: App Store
Profile Name: MyApp App Store (or whatever)
App ID: MyApp (you have already created one right?)
Submit button
Set up the new profile/configuration in XCode
Download the certificate (you can click on the Distribution tab to reload that tab while it's being generated) and load it into XCode
In XCode, open your project and go to Project > Edit Project Settings (or double-click on the first item under Groups & Files panel)
Configurations tab, click on your existing Ad Hoc distribution configuration, that already works, and click Duplicate button. Call the new one "App Store"
Click on Build tab, then under Code Signing > Code Signing Entity in the popup choose "iPhone Distribution - MyCompanyName" under "MyApp App Store"
Build & Upload to iTunes Connect
Clean all for good luck, then set Active Configuration to "App Store", build & go. Test it on your iPhone.
Find your built app in the Finder, in your project directory > build > App Store-iphoneos > MyApp.app ... right click and "Compress MyApp.app"
Upload resulting MyApp.zip to iTunes Connect.
A Universal Binary has nothing to do with it. To distribute through the App Store, you need to create a Distribution provisioning profile. The iPhone developer portal has step-by-step directions for this. look under the "Distribution" tab.
I followed the instructions listed by sbwoodside but had problems with the last part (Build & Upload to iTunes Connect). I realized that the built version didn't run on the device. This is what worked for me:
Build & Upload to iTunes Connect
Clean all for good luck.
Go to "Edit Scheme" and in the Archive menu, select the App Store
build configuration.
Select iOS Device or a specific device in the drop down menu and go
to Product->Archive.
Once Xcode is done archiving, it will open the organizer window and
show the archives section. Select the last archive and click
"Submit".
You will be asked to enter your distribution certificate. Select
the one created for the App Store.
XCode will upload the app to iTunes Connect without the need of
using Application Loader. For this to work, the app has to be in
"Ready to Upload" status in iTunes Connect.
You won't get to test the last version with the device. Therefore it's best to make an ad hoc version before to be able to test all features and once everything is working, duplicate the ad hoc configuration for the app store.
Once you have your provisioning profiles downloaded and installed you need to make some changes within XCode to get the app to work on your iPhone and eventually to submit to the iTunes store. You'll also need to add an Entitlemests.plist object to your project. You also need to tweak your build profile and your info.plist to point to your application name.
But as Mark B already said, just got through the developer portal and follow those instructions. Just make sure your define the right provisioning profile for the purpose.