Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I build the release version of my iOS app and get Apple's Application Loader to find it?

Tags:

xcode

ios

Is there a guide anywhere for how to build the release version of an iOS app binary for delivery to Apple? I've entered my app's metadata into Apple's "iTunes Connect" website, and I've downloaded Apple's "Application Loader" program.

When I run the Application Loader, it correctly displays the app's metadata and gives me a "Choose..." button. I can find no documentation on Apple's site for what I'm supposed to be choosing.

From looking around the web, apparently I'm supposed to choose the XXXX.app file, whose location I can find through "Show in Finder" by right-clicking on the .app file in XCode. However, the "Choose..." pop-up navigator won't let me get anywhere near that folder. I tried copying the .app file into my home directory, and from there the "Choose..." window shows the .app file, but it's grayed out.

I also found sites saying that I have to sign my app before the "Choose..." window will accept it. I've tried various ways to do this but nothing is working.

I assume there's a guide for this somewhere that I just can't find? I've read through all of Apple's PDFs that I could find and I've come up with nothing, and my other web searches just give me bits and pieces, no actual procedure to follow.

like image 440
Roger Avatar asked Mar 15 '12 18:03

Roger


People also ask

Where is application loader in Xcode 11?

Starting from Xcode 11, there is no longer a built-in Application loader. Apple officially released a new upload tool for ipa, which can be directly searched in the Mac App Store for Transporter to upload ipa.


2 Answers

There's a pretty comprehensive guide to iTunes Connect on the main page of the website. Unfortunately it is pretty out of date in respects to uploading your app. Application Loader isn't really needed anymore. With Xcode 4 the process is much simpler:

  1. Fill out all the info in iTunes Connect and click the "Ready To Upload Binary" button.
  2. In Xcode, use Product -> Archive to create an archive.
  3. When the Organizer opens showing your new archive, click Validate then enter your iTunes Connect info. It will make sure you didn't make any mistakes.
  4. If you pass Validation, click Distribute, then make sure Submit to the iOS App Store is selected and click Next. Enter your login info again, select a signing identity, and you're off to the races.
like image 141
jsd Avatar answered Oct 20 '22 19:10

jsd


For sumittion to iTunesConnect you should always use the most recent version of xcode.

Currently xcode provides all you need. You do not have to launch the application loader manually. XCode does that for you.

Just select a device as build target. There is no need to actually attach a device. Then build an Archive. (Product/Archive - this will be disabled when your build target is a simulator) The organizer will open and there you press "submit".

Before doing so you must have a provisioning profile and add that to the profiles in organizer. Make sure you have chosen an appropriate signing identity. (You will just run into an error right after submitting the app. Unlike other cases this time the error message is rather readable and understandable) Before submitting you will log on to itunes connect and prepare a data set with all required information. When you think you are ok with this then set it to "ready for upload" (or so) within iTunes connect.

In the event that you manage more than one app (eg. a light and a full version) then process only one at a time. When submitting the app out of xcode there is a risk of selecting the wrong version. One app at a time does not create any more work but avoids errors. It even saves some time when you run into problems because then you have to re-do the work only once. :)

Make sure debugging is turned off. (entitlements.plist)

For the Build-Value I suggest to use a simple numeric value. Future updates must have a higher numeric value in here. The version string on the contrary, which is visible in the shop and to users, you may set to any value you like.

I think that is basically it.

like image 4
Hermann Klecker Avatar answered Oct 20 '22 17:10

Hermann Klecker