<

Using Appcelerator’s Titanium Studio and Diawi.org to create distributable iPhone apps

Published on
4,753 Points
1,453 Views
3 Endorsements
Last Modified:
Marlon
I was born in a town so small when the buzzards circled overhead they got dizzy.
I recently went through the process of creating an installable image of an iPhone mobile app (an .ipa file) that beta testers could load onto their test devices. The process involved quite a few steps, but both Appcelerator and Diawi.org had decent documentation to walk me through it. However, I found a couple places where more details would be helpful.

This article augments their documentation with information that I hope helps you successfully create a distributable iPhone app for your beta testers. This article assumes you have Appcelerator’s Titanium Studio installed on your Mac. I used Titanium’s build 3.4.1.201410281727. You also need an Apple Developers account.

Before we get started, a quick note on Diawi.org. My team wanted to get our beta testing started quickly. We looked at TestFlight and Diawi.org. We decided to go with Diawi.org because of its simplicity.

There are two major steps in order to create an .ipa that can be installed on beta tester’s iOS device. Step one is to create the .ipa file. Of course this file has the mobile app’s code, but it also contains an embedded list of devices allowed to install the .ipa. Step two is making that .ipa file available for download.

Appcelerator’s “Deploying to iOS Devices” does a good job of walking you through the process to create the .ipa file. I got tripped up in just two places. The first one was in step 7 of Create an App ID. The instructions say to use a reverse-domain style, and this is important, but more specifically I found I had to use the exact string as our app’s package. When I tried a different string I wasn’t able to create the .ipa. So if your app is called MyGreatApp and its reverse domain is com.example.MyGreatApp that’s what I recommend you use in this step.

The second place I hit a snag was in Titanium Studio, while trying following Build your app, embed the profile with the app's bundle. The document says to set the view to Project Explorer, then select Run from the Launch Mode and select iOS Device as the Target. I couldn’t find the Launch Mode. I started in the Project Explorer view. In the top banner I selected Run. From the drop-down list I selected Run Configurations… This launched a pop up called Create, manage and run configurations. I expanded the Titanium iOS Device list and selected the one for my project. From that point on the steps aligned with the Appcelerator’s document.

Near the end of the document is the Installing apps to remote devices. This section mentions TestFight, Diawi.org and other options. We went with Diawi.org.

Diawi.org makes it about a simple as possible to distribute the .ipa. They provide a form where you upload your .ipa. They then generate a unique URL for downloading the .ipa. You email or otherwise inform your beta testers of the URL. They use Safari on their iOS test devices to access the URL. Clicking on it will download the app. I didn’t see any notification with Safari that the installation was done so after a minute I simply minimized Safari and saw my app’s icon on my device’s home screen.
3
Comment
Author:Marlon
1 Comment
 
LVL 4

Expert Comment

by:Mark Olsen
Very helpful article, thank you!
0

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

Join & Write a Comment

When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
From store locators to asset tracking and route optimization, learn how leading companies are using Google Maps APIs throughout the customer journey to increase checkout conversions, boost user engagement, and optimize order fulfillment. Powered …

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month