Sencha Touch 2 Native Packaging for iOS on Mac
Requirements
Software
Apple iOS provisioning
Note: You will need to know your App ID and App Name to complete the packaging process.
Steps to package your application for iOS on Mac
Step 1: Complete iOS provisioning on Apple iOS provisioning portal for the application
Please use the Apple iOS provisioning portal to setup the appropriate development and distribution certifications and profiles.
Step 2: Install the packager.
Step 3: Create a packaging configuration file to be use with the native packager.
The configuration file has the following format:
{"applicationName":"<AppName>","applicationId":"<AppID>","outputPath":"<AppPackageOutputPath>","iconName":"<AppIconName>","versionString":"<AppVersion>","webAppPath":"<PathToWebApp>","configuration":"<Release | Debug>","platform":"<iOSSimulator | iOS>","deviceType":"<iPhone | iPad | Universal>","certificateAlias":"<(Optional)CertificateAlias>","orientations": ["portrait","landscapeLeft","landscapeRight","portraitUpsideDown"]} |
Note: A configuration file template can be created by running the following command in the Terminal:
sencha package -g -c <config.template> |
<config.template> is the name of the configuration file.
The following parameters are applicable to iOS packaging:
| Parameters | Details |
| "applicationName":"<AppName>" | Both AppName and AppID can be found on the iOS provisioning portal on the App IDs section. !Screen Shot 2011-09-21 at 5.40.23 PM.png!E.g. from above,
|
| "applicationId":"<AppID>" | |
| "outputPath":"<AppPackageOutputPath>" | The output location of the packaged application, <application.app>. |
| "iconName":"<AppIconName>" | The icon file to be used for your application. Note: Retina icon should be specified with @2x at the end of the icon name. For example icon.png (regular) and icon@2x.png (retina). If a retina icon with the <Icon Name>@2x.png exists, the packager will include the retina icon. Note: Please refer to the iOS icon guideline for further information on icon file specifications. |
| "versionString":"<AppVersion>", | The version of the application. |
| "webAppPath":"<PathToWebApp>" | The path of the web application to be packaged. |
| "configuration":"<Release | Debug>" | Specify build type: Release or Debug. |
| "platform":"<Simulator | iOS>" | Specify if the build is for the iOS simulator (iOSSimulator) or for the device (iOS). Note: the iOS simulator cannot run a signed build. A signed build can only be run on the device. |
| "deviceType":"<iPhone | iPad | Universal>" | Specify device type. Available options: - iPhone: for iPhone applications - iPad: for iPad applications - Universal: for both iPhone and iPad applications |
| "certificateAlias":"<(Optional)CertificateAlias>" | This is an optional configuration. You can specify a specific Certificate Alias to use for signing your application. Note: If omitted, the default certificate used is the one you setup in iOS Provisioning Portal. |
| "orientations": ["portrait", "landscapeLeft", "landscapeRight", "portraitUpsideDown" | Specify the orientations of the application. Available options: “portrait”, “landscapeLeft”, “landscapeRight” and “portraitUpsideDown” |
Sample debug configuration file
{"applicationName":"Sencha Touch 2 Packaging","applicationId":"com.sencha.touch2packaing","iconName":"icon.png","versionString":"1.0","outputPath":"~/Desktop/nkBuild-iOS","webAppPath":"~/Desktop/www/","configuration":"Debug","platform":"iOSSimulator","deviceType":"iPhone","orientations": ["portrait","landscapeLeft","landscapeRight","portraitUpsideDown"]} |
Sample release configuration file
{"applicationName":"Sencha Touch 2 Packaging","applicationId":"com.sencha.touch2packaing","iconName":"icon.png","versionString":"1.0","outputPath":"~/Desktop/nkBuild-iOS","webAppPath":"~/Desktop/www/","configuration":"Release","platform":"iOS","deviceType":"iPhone","orientations": ["portrait","landscapeLeft","landscapeRight","portraitUpsideDown"]} |
Step 4: Run the packager (nkbuild) to create a packaged <application>.app.
Packaging a debug application and run it on the iOS simulator
Prerequisite*:* The Platform and Configuration setting needs to be set in the config file.
Example:
"platform":"iOSSimulator"
"configuration":"Debug"
Note: if the Platform and Configuration settings are not provisioned, iOS will not run the application correctly.
To package a debug/unsigned application to run on the iOS simulator, issue the following command in Terminal:
sencha package -r -c <configFile> |
The iOS simulator with the application running will launch after successful executing this command.
Note: the “deviceType” identifier will trigger the appropriate simulator: iPhone or iPad.
Packaging the application to deploy on the iOS device
To package a signed application to run on the device, issue the following command in Terminal:
sencha package -c <configFile> |
Note: an <AppName.app> is created in the specified output location. This is the application that you can use to deploy to the iOS device.
See Also