Sencha Touch 2 打包成IOS本地应用

来源:互联网 发布:python 目标客户 编辑:程序博客网 时间:2024/04/27 19:37

准备工作


软件

  • 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系统应用程序的步骤 



  1. 前期准备:进入 Apple iOS provisioning portal完成开发者授权。
  2. 安装打包程序部分: Sencha SDK Tools 2.0
  3. 创建一个配置文件用于打包IOS应用.
  4. 运行 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程序时使用.

配置文件具有如下的格式: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
    "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"
    ]
}

注意:在Mac系统Terminal上运行如下的命令行可以创建配置文件模板: 

1
sencha package generate <configTemplate.json>

<configTemplate.json> 是配置文件的名字. 注意: <configTemplate.json> 的路径和文件名中不能包含空格。 

下面参数用于IOS打包 
  
1
"applicationName":"<AppName>"

AppName 以及AppID都可以在 iOS provisioning portal 中的App IDs部分中找到 
    
                              AppID  

例如上方所示:


  • AppName 为 “Sencha Touch 2 Packaging”
  • AppID 为 “com.Sencha.Touch2Packaging”


注意:  App ID 需要与你在 Xcode的Identifier field输入的相同 。 

1
2
3
"applicationId":"<AppID>"
 
"outputPath":"<AppPackageOutputPath>"

你打包出文件的输出位置,<application.app>。 

1
"iconName":"<AppIconName>"

你的应用程序所需要的图标文件。 
注意: Retina图标需要在文件名的末尾用@2x标记。例如icon.png (普通的图标文件),icon@2x.png (retina图标文件). 如果带有 @2x.png的retina图标存在,打包程序将包含retina图标. 
注意: 请参考 iOS icon guideline 来进一步了解图标文件类型。 

1
"versionString":"<AppVersion>",

application的版本. 

1
"webAppPath":"<PathToWebApp>"

用来打包的web application路径。 

1
"configuration":"<Release | Debug>"

指定创建出程序的类型: Release or Debug. 

1
"platform":"<Simulator | iOS>"

制定创建出程序的运行方式 iOS 模拟器还是iOS设备. 
注意: the iOS simulator cannot run a signed build. A signed build can only be run on the device. 

1
"deviceType":"<iPhone | iPad | Universal>"

指定设备类型.可选项: - iPhone:用于 iPhone 设备 – iPad:用于iPad 设备 – Universal:可用于iphone和iPad二者。 

1
"certificateAlias":"<(Optional)CertificateAlias>"

这是一个非必选项. 你可以指定一个Certificate Alias来给你的app命名。 
注意: 如果忽略此选项,默认的certificate将会是你在iOS Provisioning Portal中建立的那一个。 

1
2
3
4
5
6
"orientations": [
    "portrait",
    "landscapeLeft",
    "landscapeRight",
    "portraitUpsideDown"
]

这是一个可选的配置项. 你可以给app指定方向. 可选项包括: “portrait”, “landscapeLeft”, “landscapeRight” and “portraitUpsideDown”

注意: 如果忽略此选项,默认将包括四个方向。 

Sample debug configuration file  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "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 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "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"
    ]
}


Step 4: 运行packager来打包获得一个程序 


打包出一个在iOS 模拟器运行的app

准备工作: 在配置文件中设定Platform 和Configuration参数

例如: 

1
2
"platform":"iOSSimulator"
"configuration":"Debug"

注意: 如果platform,configuration这两个选项没有提供 iOS将不能正常运行。

在终端运行以下命令,可以打包并在iOS上运行一个debug或unsigned的app。 

1
sencha package run <configFile.json>

顺利执行完此命令之后,iOS模拟器将会运行app

注意: “deviceType” 选项将引导启动合适的模拟器: iPhone  iPad. 
 

打包出一个在 iOS 设备上运行的app

在终端运行以下命令,打包出一个在iOS设备上运行的程序

1
sencha package <configFile.json>

注意:  <AppName.app> 将会输出在指定的位置,这是一个你可以在iOS设备上运行的程序。 

原创粉丝点击