Appcelerator Developer Blog

iOS package for distribution with 1.4+

There have been a few questions around how to package for distribution for iOS starting with Titanium SDK 1.4. Apple has changed the requirement on how you package and submit your application to iTunes connect. You can no longer use the web-based portal to upload your application.

I thought I’d explain the steps on how to package and distribute with some screenshot walk throughs.

In Titanium, you’ll do the normal package for distribution step, selecting your distribution profile.

NOTE: I have circled the “Select Distribution Location” since this is no longer required. In 1.4 SDK, we ignore this value. We didn’t want to rev Titanium Developer just to remove this field and to keep in backwards compatible. However, you will still need to enter a value for this field. In a future release of Developer, we’ll improve this.

After packaging, we’ll automatically start Xcode Organizer. Select the “Archived Applications” on the left menu and you should see your Application with a package date.

If you select the date, you will be able to enable the buttons at the bottom.

First step, you’ll want to validate your application. This will actually validate your application with Apple prior to submission and let them perform some pre-flight checks.

You’ll need to login to iTunes connect before you can validate. (The first time, you’re credentials will be empty. Subsequent times, if you check “Remember my…” if we remember).

After successful login, you’ll need to choose the appropriate application and profile. IMPORTANT STEP: If you don’t have an application setup in iTunes Connect (on the website), these subsequent steps SILENTLY FAIL.

NOTE: Organizer gives no visual clues to as what’s happening. The UI will lock-up while it runs network operations and when it fails, it simply does nothing and you have no idea. The biggest problem I’ve encountered is when someone doesn’t actually have an application setup (see above).

Choose your app and profile and you should see this alert result (after a few seconds to minute):

Since you’re building with Titanium, everyone should work. However, we’ve seen a few issues mainly related to the wrong size icon when validating. Apple has gotten more strict on icon sizes, etc.

To submit your application, click the “Submit Application to iTunes Connect..” button. BEWARE: when you do this, it will immediately upload your app and submit it for approval (assuming that your application details are setup).

At this point, your application should be submitted and in the queue for approval.

19 Responses to “iOS package for distribution with 1.4+”

  1. Juan says:

    Thanks Guys! This is greaT!!!

    Wanted to mention do an ‘up’ in the wish list for in-app purchases and Universal Binary( i am guessing this must be a nasty one ).

    Thanks for the GREAT GREAT product.

  2. sj101 says:

    Um so how do you do adhoc builds??

  3. Jeff Haynie says:

    @sj101 – ad hoc builds are the “share application” button in Organizer.

  4. mark pollard says:

    How do you update an application?

  5. John Hass says:

    Thank you so much for this-this way actually makes sense since you can’t upload on the site anymore.

  6. John says:

    Thanks Jeff!
    Uploaded a new version of one our Apps following the procedure you outlined above. Went flawlessly! Would be nice though for the Xcode Organizer to display a progress box. You don’t know your App is uploaded until Xcode “unfreezes” itself.

  7. Jeff Haynie says:

    @John – yeah, I agree. would be a nice feature request for Apple.

  8. Petr says:

    I am getting the silent fail, cos my itunes connect is empty? How do i solve that, i tried to create app but still failing..

  9. Jeff Haynie says:

    @Petr – at this point, if you’re seeing the app, it’s something on the apple side. We’ve only seen issues when you didn’t have an app setup in iTunes connect or some other error there.

  10. sprakkattak says:

    Was having trouble at first when I do this. Mine was setup in iTunes already but was rejected because the UIBackgroundModes key issue. Whenever I try to validate, I just get nothing. So I went back to iTunes Connect and change the status of my app from ‘(red) rejected’ to ‘(green) waiting for upload’. Tried again and validating app works now. Thanks.

  11. Daniel says:

    Jeff,
    You mentioned backward compatibility, i may need to submit iPad app update with older version of TI SDK as my Twitter Xauth posting is breaking on 1.4.

    If I were to build the app with (early built) 1.3.3 or 1.3.2, with iOS 3.2, can i still submit the app by taking the executable app from zipped package and submit it with App uploader without any issue?

    Thanks

  12. Michael Szul says:

    My distribution build is going through the packaging phase and even asks for the codesign in my key chain, but nothing ever appear in the archived applications in the Organizer. Any ideas?

  13. Jerry Woods says:

    Mike, two things to check…
    First, make sure click on “Archived Applications”. It doesn’t just show up on its own in that list window.

    Second, make certain you have the latest Xcode installed or it may not work all the way through.

  14. Jerry Woods says:

    Jeff,
    I noticed that the iPhone emulator is loading my apps like greased lightning in 1.4. I mean from a cold start, builds, installs and runs in around 2-3 seconds! That’s smokin’!

    The speed is like 3 fold! Good work on speeding up that process!

  15. Vinod Tella says:

    I am trying to do an update to an existing App on store. I am using latest TI SDK 1.4. When i hit the button ‘Package’ it invokes the Xcode Organizer but i dont see the Application ID in the drop down. Do I have to create a new application Id even for updating the existing one?.

  16. Jerry Woods says:

    Tella,
    Yes, even for updates. Go to iTunesConnect and proceed with the typical update procedure until all that’s left is the binary upload option. Logoff, THEN do the Package procedure the Ti.
    That’s how we did it.

  17. Steve Page says:

    Well done this works really well.

    Only issue is with apps with a space in them code//apple doesn’t like that, can’t titanium swap the space for an underline to fix the issue?

    At present I have to change both filenames and edit the list file

  18. Vitaly says:

    Ad Hoc profiles failed to build with 1.3.0 SDK, that’s ridiculous. Appstore profiles are OK. Please fix this ASAP. My clients are waiting for new biuld.

  19. Pedro Sousa says:

    hi,

    nice article.
    I had the same problem as Steve, with the white-spaces.

    I would suggest updating the post to make clear you have to start half the process at the itunes connect site and then continue with the loader.

    thanks for the article and hard work!