Distribute iOS apps for beta testing without itunes

I was told about a service called TestFlightApp by Wesley Lynch. This app allows you to easily distribute iOS applications for testing, to users of your choice, online, without itunes. They have a SDK exposing features like logging, crash reports, in app feedback. Below are steps I followed to get it working using Flash Builder 4.5.

How to use it….

  • Register and create a team  on the TestFlightApp website.
  • Add team members. They will be sent invites to register and install TestflightApp on their devices. Once they do that, there device-id’s will be linked to their registrations.
  • Include their device-id’s in the mobileprovision you are going to compile with (created on apple.developers).
  • add <key>get-task-allow</key> <string>YES</string> in your InfoAdditions tag in your app.xml file. This allows debugging.
  • Compile a ipa for a adhoc distribution.
  • Upload the ipa to TestFlightApp.
  • TestFlightApp will email users in your team a link that, when accessed from their registered device, will install the app for testing.

In order to use their sdk in Flash Builder, it will have to be implemented as a Native Extension…which is something I am working on in my spare time. I will release it once it’s done.

Adobe AIR for iOS tips

I’ve been building and experimenting authoring for iOS in Flash Builder 4.5 with AIR 2.7 sdk, and am going to share some tips.

Splash screens
To include a splash screen that shows up before your application initializes, you can include a file named Default.png. The resolution has to be 320×240. to include splash screens for other resolutions, name your files as follows…Default-Portrait.png (768×1024 for iPad), Default@2x.png (960×640 for iPhone4).

Getting data off your device
To get data off your device through itunes, the data has to be stored in the File.documentsDirectory.

private function saveFile():void
{
	var _file:File = File.documentsDirectory.resolvePath("sample.txt");
	var _filestream:FileStream = new FileStream();
	_filestream.open(_file,FileMode.WRITE);
	_filestream.writeUTFBytes("sample data");
	_filestream.close();
}

In order for itunes to expose this folder, you need to include the following in your Projectname-app.xml file.

<iPhone>
	<InfoAdditions>
		<![CDATA[
		<key>UIFileSharingEnabled</key>
		<key>YES</string>
		]]>
	</InfoAdditions>
</iPhone>

These values will get added to the Info.plist file included with the application. This data can now be accessed through itunes, as in screenshot below.
itunes showing application exposing shared data