Version Updates to iOS Apps

Updating your iOS app version is easy

Version 2.1 will be out mid-January if I had to guess!  Something I got a lot of feedback on was this post I wrote titled “Write your own iApp.”  That’s great.  However, now you need to release a new version for your users.  No problem, just read on.

I originally decided to create this post for my future self, say a couple months from now.  I can never seem to remember how to do version updates to the SitterSat.com app.  It’s not difficult, I just can’t seem to remember.  So hopefully this will serve as my guide and help you out as well.

Two things you need to work with (smile, only two things), they are –> Xcode and iTunes Connect.  I like to bounce around between both and that’s reflected in these steps, but you can cut out some of the fat and rearrange these steps if you want.

First, create new app version in iTunes Connect

First things first, I go out to iTunes Connect and see what’s what.  When you login, you can click on Manage Your Applications.

sittersat.com

iTunes Connect

When you select your app and drill in, you’ll see your apps with the respective version history.  Of course, you can get all this from Xcode (version history etc).  After all, you could have versions you’re working on that you haven’t released to iTunes.  In this case however, according to iTunes Connect, SitterSat.com has two versions.  You will notice two versions in this screenshot.  Originally, it merely said version 1 and version 2.0.  Version 2.0 is green, live, GO, in the AppStore, deployed.  Version 2.1 is “waiting for review” by Apple.  We’ll get to that as that’s the point of this post, but for now you get the idea.

sittersat.com

iTunes Connect SitterSat.com app

So the reason we’re here is to let iTunes Connect know we’re about to submit a new version.  Do that.  Click New Version and proceed forward.  You’ll create a new version, in this example, version 2.1.  After answering questions like “is this update due to a legal reason,” your app status will change to Prepare For Upload.  You’ll want to click on Ready to Upload Binary.  You’ll again answer some questions and provide release timing (I chose aut0-release once Apple approves) and the status will change to Waiting For Upload.  At this point, you’re done with iTunes Connect for now.  Xcode provides the wizardry behind uploading the binary to iTunes Connect.  So let’s go there now and prepare a binary for upload.

sittersatappwaitingforupload

Second, update project settings in Xcode

In Xcode, if you haven’t already done so, you will want to update the version and build numbers as appropriate for your app.  See screenshot.  I’ll quit saying see screenshot since you get it.

SitterSat.com app project settings

SitterSat.com app project settings

Gotcha:  One extra step I like to take is just verifying the changes you made here show up in the plist file.  If that’s wrong, Xcode will probably catch it, but you don’t want that hassle.  So just double check your settings in your app’s plist file to be sure the version and build versions took.

Third, produce the archive file in Xcode

You need to produce a valid archive file.  I believe the actual binary ends in a .ipa extension, but that is not indicative of a beer.  I just had to say that.  Poor computer humor, I know.  If that didn’t make sense, you’re thinking too hard.

In the Xcode menu, choose:

  • Product –> Analyze
  • Product –> Archive

Gotcha: Make sure your schema is using your AppStore deployment schema and pointing to an iOS Device.  You won’t be able to produce a valid archive file (I think the option may even gray out in the menu perhaps) if you are pointed to a simulator.

Obviously, you need to fix any errors that occur and rerun as needed.  When complete, your Organizer should popup and show you this new archive file.  Verify the version and other information.

SitterSat.com app archive file

SitterSat.com app archive file

Fourth, validate and distribute the app in Xcode

You’re almost done, this is the last series of steps in Xcode.  You’ll stay in the Organizer for this part.  Click Validate….  Answer the questions about the signing identity etc and then just wait until the validation succeeds.  Again, if it fails, just go fix whatever is needed (usually a configuration problem or something minor) and produce an archive and try it again.

SitterSat.com app signing identity

SitterSat.com app signing identity

SitterSat.com app validation passed

SitterSat.com app validation passed

SitterSat.com app validation passed

SitterSat.com app validation passed

Whew, now that’s out of the way.  Let’s submit this thing.  Click Distribute… and remember to tell it where you want it to go.

SitterSat.com app distributed

SitterSat.com app distributed

SitterSat.com app distributed

SitterSat.com app distributed

SitterSat.com app distributed

SitterSat.com app distributed

Fifth, verify all is well in iTunes Connect

Now’s the time to start celebrating because all you have to do is check iTunes Connect (Refresh, F5, navigate back and to, whatever) to see that your file has been successfully received and is now Waiting For Review!  In case you’re wondering, my updates get pushed out in about 8 days on average.

SitterSat.com app waiting for review in iTunes Connect

SitterSat.com app waiting for review in iTunes Connect

That pretty much does it.  So in a couple of months, I will be able to look back at this and work more efficiently.  But speaking of versions, I have a feeling a new version of Xcode will come out and trip me up.  Let me know if I missed something, did something wrong or you have a better way.

Oh and I should mention, check out the iTunes Connect mobile app.  You can check statuses, look at reports and it’ll notify you throughout this whole process so consider using it.

Advertisements
Next Post
Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: