准备工作
软件
- Mac OS X 10.6+
- Xcode (iOS 模拟器所需要的)
Apple iOS provisioning
- Complete iOS provisioning on the Apple iOS provisioning portal and have the certificates and devices setup through the provisioning portal and Xcode.
- Create an App ID and finish provisioning your application. Please refer to the How-To section in the Apple iOS provisioning portal for help.
注意: 在打包iOS应用程序的过程中,需要用到App ID和App name。
在Mac系统上打包iOS系统应用程序的步骤
- 前期准备:进入 Apple iOS provisioning portal完成开发者授权。
- 安装打包程序部分: Sencha SDK Tools 2.0
- 创建一个配置文件用于打包IOS应用.
- 运行 packager 打包工具,创建一个App.
Step 1:在Apple iOS provisioning portal完成iOS程序开发者授权
可查看开发者授权系统Apple iOS provisioning portal 来获得开发和发布应用程序所需要的certificate和profile。
Step 2: 安装打包程序
运行Sencha SDK 安装程序: SenchaSDKTools (SenchaSDKTools-2.0.0-Beta)
包含有打包选项的的sencha command会被安装到指定的目录中(默认: Applications/SenchaSDKTools-2.0.0-Beta/command).
Step 3: 创建一个配置文件供打包iOS程序时使用.
配置文件具有如下的格式:
{
"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"
]
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
注意:在Mac系统Terminal上运行如下的命令行可以创建配置文件模板:
sencha package generate <configTemplate.json>
- 1.
<configTemplate.json> 是配置文件的名字. 注意: <configTemplate.json> 的路径和文件名中不能包含空格。
下面参数用于iOS打包
"applicationName":"<AppName>"
- 1.
AppName 以及AppID都可以在 iOS provisioning portal 中的App IDs部分中找到
AppID
例如上方所示:
- AppName 为 “Sencha Touch 2 Packaging”
- AppID 为 “com.Sencha.Touch2Packaging”
注意: App ID 需要与你在 Xcode的Identifier field输入的相同 。
你打包出文件的输出位置,<application.app>。
"iconName":"<AppIconName>"
- 1.
你的应用程序所需要的图标文件。
注意: Retina图标需要在文件名的末尾用@2x标记。例如icon.png (普通的图标文件),icon@2x.png (retina图标文件). 如果带有 @2x.png的retina图标存在,打包程序将包含retina图标.
注意: 请参考 iOS icon guideline 来进一步了解图标文件类型。
"versionString":"<AppVersion>",
- 1.
application的版本.
"webAppPath":"<PathToWebApp>"
- 1.
用来打包的web application路径。
"configuration":"<Release | Debug>"
- 1.
指定创建出程序的类型: Release or Debug.
"platform":"<Simulator | iOS>"
- 1.
制定创建出程序的运行方式 iOS 模拟器还是iOS设备.
注意: the iOS simulator cannot run a signed build. A signed build can only be run on the device.
"deviceType":"<iPhone | iPad | Universal>"
- 1.
指定设备类型.可选项: - iPhone:用于 iPhone 设备 – iPad:用于iPad 设备 – Universal:可用于iphone和iPad二者。
"certificateAlias":"<(Optional)CertificateAlias>"
- 1.
这是一个非必选项. 你可以指定一个Certificate Alias来给你的app命名。
注意: 如果忽略此选项,默认的certificate将会是你在iOS Provisioning Portal中建立的那一个。
"orientations": [
"portrait",
"landscapeLeft",
"landscapeRight",
"portraitUpsideDown"
]
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
这是一个可选的配置项. 你可以给app指定方向. 可选项包括: “portrait”, “landscapeLeft”, “landscapeRight” and “portraitUpsideDown”
注意: 如果忽略此选项,默认将包括四个方向。
Step 4: 运行packager来打包获得一个程序
Sample debug configuration file
{
"applicationName":"Sencha Touch 2 Packaging",
"applicationId":"com.sencha.touch2packaing",
"iconName":"icon.png",
"versionString":"1.0",
"outputPath":"~/Desktop/STBuild-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/STBuild-iOS",
"webAppPath":"~/Desktop/www/",
"configuration":"Release",
"platform":"iOS",
"deviceType":"iPhone",
"orientations": [
"portrait",
"landscapeLeft",
"landscapeRight",
"portraitUpsideDown"
]
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
打包出一个在iOS 模拟器运行的app
准备工作: 在配置文件中设定Platform 和Configuration参数
例如:
"platform":"iOSSimulator"
"configuration":"Debug"
- 1.
- 2.
注意: 如果platform,configuration这两个选项没有提供 iOS将不能正常运行。
在终端运行以下命令,可以打包并在iOS上运行一个debug或unsigned的app。
sencha package run <configFile.json>
- 1.
顺利执行完此命令之后,iOS模拟器将会运行app
注意: “deviceType” 选项将引导启动合适的模拟器: iPhone iPad.
打包出一个在 iOS 设备上运行的app
在终端运行以下命令,打包出一个在iOS设备上运行的程序
sencha package <configFile.json>
- 1.
注意: <AppName.app> 将会输出在指定的位置,这是一个你可以在iOS设备上运行的程序。
原文链接: http://html5mobi.gotoip1.com/discussion/97/sencha-touch-2-sencha-touch-2-ios