Building iOS Apps over-the-air site

Simple steps for creating iOS Apps over-the-air web-site.

A company who develop many iOS applications needs to test those applications first and need to be able to distribute it between the teams (QA, integration and other users), before uploading it to the AppStore.

A good solution for those needs is http://testflightapp.com but:

  • We encountered many issues with the service, especially with their upload API the is not very reliable. Also their user interface lack of some basic features such as good search options and filtering.
  • It is a cloud service - sometimes you want a faster service that will enable you to upload a new test applications and download it to a device within minutes or even seconds - upload and download from the cloud can be a factor for fast or slow ALM service.
  • The site is not organized in a corporate-related-logic - if the company's applications should be divided into sections that is relavant only to the company, there is no way to do it in TestFlight.
  • The information displayed for each application and/or build can lack corporate information such as internal-version (which can be different than that one on the AppStore), corporate-relevant-build-information and more. 

Building an alternative web-site should be considered for such needs, but be aware of the lost of the good features that TestFlight provides such as devices-management, users-management, application-upload-service and more.

For building the site you need - for each application - only 2 files:

  • The IPA file - there are many good guides on the web for creating it and it is beyond the scope of this post
  • IPA-matching .plist file.

For a good web-site, it is better that each application will be provided also with:

  • Application-related image
  • Information about the application such as build information, version-information and any information that you want to display about the application

The format of the application .plist file is as such:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string><URL of IPA file></string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string><application bundle ID></string>
                <key>bundle-version</key>
                <string><application version></string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string><application title></string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

The files should be better placed in the same folder (for making the web page build simplier) and for each application the web page should contain a link with the following format:


<a href="itms-services://?action=download-manifest&amp;url=<URL of the .plist file>"><Test and/or image to describe the application></a>


Make sure also that the mime type of the plist file in the site is 'text/xml'.

That's it!

The rest of the site handling and build is up to your needs and you can build it to fit your corporate needs and have it include all the needed information.

Enjoy,

Yoram Michaeli

yorammi@tikalk.com

 
Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at info@tikalk.com