Skip to Content

How to create an application for iPhone devices

Printer-friendly versionSend to friendPDF version
All

Streamezzo Solution allows creating applications for any platform.

This tutorial details how to create an application for iPhone devices using Streamezzo Workbench Developer, i.e. the provided client package creation wizard and the comparable Ant task.

Introduction

A Client Package is an installer that is specifically designed to fit in for a given target handset.

For an iPhone device one will obtain a .app folder and a .mobileprovision file.

Client package creation is a 2-step process:

  • Configuration
  • Packaging

Prerequisites

Application configuration can be accessed from the Service > Service Settings > Application configuration tab in Workbench Developer.

In order to customize an application one will need to specify:

  • Standard settings, i.e. application name, company name, application icon (see requirements below)... certificate name, certificate and mobile provision (all 3 being mandatory to sign the application - see details below)
  • (optional) Advanced settings, i.e. screen orientation changes handling, status bar hidding...

Icon

When the application will be displayed on the home screen, the iPhone OS automatically adds some visual effects so that it suits with the built-in icons. Specifically, iPhone OS adds:

  • Rounded corners
  • Drop shadow
  • Reflective shine

To ensure that the icon can take advantage of these visual enhancements, provide an image in PNG format that:

  • Measures 57 x 57 pixels, with 90° corners (note if the image size differs, iPhone OS will scale it)
  • Does not have any shine or gloss effect
  • Does not use alpha transparency

(source : [Apple])

Signing

Apple offers 2 types of distributions:

  • App Store Distribution: building an app for commercial publication on Apple's App Store; once accepted by Apple the application becomes downloadable from the App Store and available for any device.
  • Ad Hoc Distribution: building an app in development phase, for testing purpose; the application can be immediately installed on a predefined set of devices (limited to a maximum of 100 devices UDID).

All information on distribution is available on Apple Developer Connection website here.

 

In order to create a Client Package for iPhone, one will need to have previously registered to the iPhone Developer Program and retrieved the following information and assets:

  • An Apple Distribution Certificate (certificate name + certificate file (.cer)) as can be found here
  • A Distribution Provisionning Profile (.mobileprovision) as can be found here

Packaging an application for testing purpose requires a developer program purchased from Apple (99 USD). The application installation is limited to 100 devices (registered on the Apple developer portal)

Packaging an application for commercial distribution requires the application to be submitted to Apple App Store, and, once vetted by Apple, the app will then be available to all iPhones. This requires a developer program enrollment.

Packaging

Wizard

Obtaining an application in Ad Hoc Distribution

Application packaging can be accessed from the Service > Create Client Packages menu option in Workbench Developer.

In order to package an application one will need to specify:

  • Targeted device(s), i.e. select all devices the application is supposed to support
  • Application configurations, i.e. all defined configurations (as defined in the Prequisites section above) can be set / updated here
  • Rich Media Server information, i.e. required parameters to access Streamezzo Rich Media Server instance if any (i.e. if the application contains server-side scenes)
  • Output, i.e. output folder and pattern (this last parameter is mandatory in case multiple devices are selected for packaging, as each application installer will need to be dumped in a separated and identified folder, inside the output folder)

Once the "Finish" button is pressed, all requested client packages will be generated for each selected device.

As packaging an application for iPhone requires an Apple Mac platform properly configured and equipped with Xcode, the application generation will be performed remotely on a server hosted by Streamezzo. This operation will take few minutes.

The progression of the client packages creation can be followed in the Client packages creation view.

Once a client package has been created, its output folder can also be accessed from here and will contain:

  • [app name].app: the generated application for iPhone
  • [...].mobileprovision: the provisionning profile assed in parameter (referencing all iPhone devices on which the application can be installed)

Obtaining an application in App Store Distribution

As previously explained such distribution is intended to be used for a commercial deployment of one's application.

Once generated such application is supposed to be submitted for Apple for acceptance before it becomes available on Apple's App Store.

Streamezzo is not currently offering this service directly integrated in Workbench Developer.

Once the application development is complete, relying on the Ad Hoc Distribution at first, and is ready for commercial deployment, contact Streamezzo in order to obtain a valid application that one will be able to submit to Apple, with Streamezzo support.

In order to generate a valid application that can be submitted, one will need to provide:

  • Workbench Developer project (File > Export Service), containing the developed application, including its configuration. Important: this configuration should be similar to the one used for Ad Hoc Distribution, except the certificate (name + .cer) and provisioning profile (.mobileprovision) must be the one applicable for App Store Distribution
  • Private key (see how to obtain it here)

Ant task

Obtaining an application in Ad Hoc Distribution

Some operations as accomplished above with the wizard can be performed relying on an Ant task, which is usually comfortable to reiterate a client package creation in a given configuration (i.e. selected devices, configuration, output...) in a 1-click operation.

In order to do this one can follow those steps:

  • Create an Ant build file
  • Open it in the Workbench Developer editor
  • Right-click in the editor area and select Wizards > Create client package target
  • Follow the same wizard steps as detailed above; once the "Finish" button is pressed, the Ant build file will be automatically filled accordingly (instead of really creating the client package(s))

The obtained Ant task looks like this:

<?xml version="1.0" encoding="UTF-8"?> My description

The Ant build file can then be dumped in the Ant view and executed from here.

The progression of the running Ant task can be followed as successive logs in the Console, ending with message "BUILD SUCCESSFUL" in case it succeeded.

Obtaining an application in App Store Distribution

As previously explained such distribution is intended to be used for a commercial deployment of one's application.

Once generated such application is supposed to be submitted for Apple for acceptance before it becomes available on Apple's App Store.

Streamezzo is not currently offering this service directly integrated in Workbench Developer.

Once the application development is complete, relying on the Ad Hoc Distribution at first, and is ready for commercial deployment, contact Streamezzo in order to obtain a valid application that one will be able to submit to Apple, with Streamezzo support.

In order to generate a valid application that can be submitted, one will need to provide:

  • Workbench Developer project (File > Export Service), containing the developed application, including its configuraiton. Important: this configuration should be similar to the one used for Ad Hoc Distribution, except the certificate (name + .cer) and provisioning profile (.mobileprovision) must be the one applicable for App Store Distribution
  • Private key (see how to obtain it here)

Distribution

Ad Hoc

Both obtained assets (.app folder and .mobileprovision file) are needed to deploy the application on the referenced iPhone devices using iTunes:

  1. Launch iTunes
  2. Plug the iPhone cable
  3. Drag'n drop both files selection in iTunes 'Applications' Library
  4. Select the iPhone device and sync it with iTunes

App Store

One will simply have to connect to the App Store, either from the device itself or from a laptop, search for the application and download it (eventually following the buy procedure in case the application is not free).

Share this