Tuesday, January 22, 2013

Distributing iOS Apps for QA Testing outside Apple App Store

If you like many other Apple Mobile App Developers follow the standard Application Development Life Cycle, you will at some point want to distribute your App to your Quality Assurance Testers (QA Testers) to test and give you feedback, and you most definitely want to do this outside of the App Store. Also, depending on the location of your QA team, they may not physically be able to bring their iOS Device to you to update the App with the new version. So to summerize, here are our assumptions:
  • QA Team is remote and they cannot physically bring their device back to you for update
  • You have already registered their device as a developer device with Apple iOS Developer Portal
  • Your App has not yet submitted to the App Store
  • You do not want to Jail Break their device in order to do this. 
The following are the steps you will have to follow to create the installer (.ipa file) and make it available over the web:
  1. Open XCode and bring up your Workspace or Project, and get the latest version of your source code from whatever Source Control your team uses.
  2. Select your main Project Node in XCode File and Folder view. 
  3. Click on the "Organizer" button and open Organizer, then click "Refresh" to get the latest version of your provisioning profile from Apple (make sure "Provisioning Profile" library node is selected)
  4. Select the Provisioning Profile you are using for your App, then right click on the line item and choose "Reveal in Finder". 
  5. Copy this Provisioning Profile file to a temp folder for distribution. 
  6. Close Organizer and go back to XCode. 
  7. Select the main Project File and Folder Node in XCode, then go to the "Product" menu from the top XCode menu and select "Archive". Allow it a minute to compile and bring up the archive window. 
  8. Select the latest Archive from the "Organizer-Archives" list, then click on the "Distribution" button. If you don't see an Archive there, go ahead and compile and create one. 
  9. Select the "Save for Enterprise or Ad-Hoc Deployment" option, then click "Next". 
  10. Select a Code Signing Identity, then click "Next". 
  11. Select a file system location for the IPA file (Same location where you saved the provisioning profile to), then click "Save". 
  12. Upload the two files (provisioning profile and ".ipa" file) to a web server or a file sharing service (for example box.com or Google Drive, or other) as a single ".zip" file, and email the link to the zip file to your QA Testers. 
The following are the steps your QA Tester has to take to install the above distribution build on their iOS Device:

Mac OSX:
  1.  Plug your iOS Device into your Mac or PC, and allow it to fully sync. 
  2. Download the ".zip" file containing the provisioning profile file and ".ipa" file, and extract it on your local machine into a temp folder.
  3. Select the "Apps" section in your iTunes for the iOS Device in Question, then drag the provisioning profile file into it. This will install the Provisioning Profile on your Device through iTunes. If you are prompted that the profile exists already, go ahead and replace it with the new one you just dragged in. 
  4. Drag and drop the ".ipa" file into iTunes Apps Section. This will give you an Install button to Install the App on your iOS Device.
  5. Go ahead and Click on the "Install" button. This will install the App on your iOS Device. 
Windows PC:
  1. Download and install the iPhone Configuration Utility from http://support.apple.com/kb/DL1466
  2. Run the iPhone Configuration Utility from the Start Menu. 
  3. Plug in your iOS Device to your Windows PC using USB. A new icon with your Device's Name appears under "Devices" in the left menu. 
  4. Select your device under Devices, then click on the "Add" icon from the top left menu list, and choose "Mobile Provision" for the "File of Type" drop down, then navigate to and select your downloaded provisioning profile and click on Open. If asked if you wish to replace the existing provisioning profile, select "Yes". 
  5. Select your device under Devices once more, then click on the "Applications" tab. Again click on the "Add" icon from the top menu, but this time choose "Mobile Application (.ipa)" for "Files of Type:". Navigate and select your ".ipa" file, then click on the "Open" button. If prompted to replace existing version, click on "Yes".
  6. On the same Applications tab, scroll down and find your Application, then click on the "Install" button to install it on your device.
That's it, you have now distributed the latest version of your App for Testing. Enjoy, and feel free to post comments or feedback if I missed any steps.

Pete Soheil
DigiOz Multimedia, Inc

1 comment:

Cado Magenge said...

A very impressive post with a lot of insight. Good job.