Titanium Studio AdHoc Enterprise OTA Distribution

You must Login before you can answer or comment on any questions.

I am trying to build an AdHoc OTA distribution for an enterprise account. I have been successful with the AdHoc builds using the normal developer provisioning profiles along with the device UDID's as described in the documentation, but failed to build an OTA distribution with the distribution profile.

I've tried packaging using the 'Distribute - App Store' configuration as well as building for the 'iOS Device' configuration while using the distribution profile from my apple Account. In both cases, the application packager launches Xcode and then terminates the packager, leaving Xcode running.

I'm not that familiar with Xcode; I've done all my builds up to now using the Appcelerator tools.

BTW, when doing a build using 'iOS Device' using my distribution profile I created for the OTA distribution, I get this from the build logs in Titanium Studio:

[INFO] Performing clean build
[ERROR] [BEROR]Code Sign error: The default keychain doesn't have an identity matching the profile 'Sales Team OTA' and identity 'iPhone Developer: XXXXXXXXXXX (78HQN3A66E)'
[ERROR] 
[ERROR] Error: Traceback (most recent call last):
  File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/builder.py", line 1238, in main
    execute_xcode("iphoneos%s" % iphone_version,args,False)
  File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/builder.py", line 1012, in execute_xcode
    output = run.run(args,False,False,o)
  File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/run.py", line 39, in run
    sys.exit(rc)
SystemExit: 65
I have installed the distribution certificate into my keychain in both the Login and System keychains.

Where is the formal documentation for doing this in Titanium Studio or Xcode?

Help?

I am open to anything, I have to get this OTA release done ASAP!

— asked 2 years ago by Andres Sosa
3 Comments
  • Are you able to build your app and run it on your own device??

    — commented 2 years ago by Anthony Decena

  • Andres,

    How did you end up solving this?

    I know there are many things outlined here by others, but I have tried them and still cannot get it to work. Your problems descriptions matches my issue exactly. All this happened for me after installing Xcode 4.2.

    — commented 2 years ago by Henning Glatter-Gotz

  • When changing XCode versions, make sure you do a complete clean on your projects before attempting to build. I had one person tell me he did that plus removed the old copy off the device and restarted the device and then it worked. But I suspect it was the clean project that really explained it.

    — commented 2 years ago by Doug Handy

2 Answers

I am still using Ti Developer to create my distributions instead of Ti Studio. But here are the steps I use:

  • In Ti Developer switch to Distribute tab
  • Set the distribution certificate and provisioning profiles
  • Use Package button to create the build and *.app folder contents

At this point I have a build folder at (proj)/build/iphone/build/Release-iphones; the folder name is (proj).app but there is no *.ipa yet. The folder does contain a file "embedded.mobileprovision" based on the profile I selected above.

Instead of using XCode, I convert the .app folder to a *.ipa myself:

  • Create new folder named "Payload"
  • Drag *.app folder to inside Payload
  • Compress Payload folder, creating a *.zip file
  • Rename the zip to (proj).ipa

This *.ipa can then be used for OTA distribution. I use my own server, but another alternative is testflightapp. If you want to use your own server, see my answer in this thread. Actually, I recommend you go read that answer anyway. It has some other info you may find helpful.

— answered 2 years ago by Doug Handy
answer permalink
2 Comments
  • Hey Doug,

    thanks for your great tutorial. It's working quite well for me, the only problem I have: After updating my apps with the .plist file on a web server, I always have to restart my iPad after the update. Otherwise the app won't start. But if I turn the iPad (1) off and on after the update, the app runs perfectly and the update is installed. Do you know this problem and maybe have any solution for it?

    — commented 2 years ago by Benjamin Sommerfeld

  • I have never heard of that problem with iOS. I have a similar problem with (non-Titanium) Blackberry application updates I push OTA, though the OS tells the user they must reboot and gives them the choice of now or later. (RIM explains why here).

    I have not seen a similar problem with iOS though. Do you have any background services registered?

    — commented 2 years ago by Doug Handy

Let me share as far as I know. Normally I used, TestFlight for OTA distribution with Ti Studio.

1) Creation Provisioning Profile When u create Provisioning Profile, you need to select "Ad Hoc" method under "Distribution"

2) Add Provision Profile from Ti Studio After you download that profile, you click "Distribute - App Store". As next step, you need to select that provisioning profile from "Select Provision Profile". Finally you can click to "Finish"

3) Try to get ipa file from xCode's organizer When successfully done, xCode organizer will come out with your app under "Archived Application". Then you click to "Share" button. As next pop message box, you need to select "Save to disk" and select location.

4) Upload ipa from TestFlight After you get ipa file from no 3 step, you login to TestFlight and upload that ipa file.

That's all. I am working fine according these steps.

Your Answer

Think you can help? Login to answer this question!