如何把Sencha Touch 2.0框架打包成iOS本地应用

移动开发
本文由移动Web开发社区翻译,讲述了如何把Sencha Touch 2.0框架打包成iOS本地应用得过程。

准备工作

软件

  • 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.     "applicationName": "<AppName>", 
  2.     "applicationId": "<AppID>", 
  3.     "outputPath": "<AppPackageOutputPath>", 
  4.     "iconName": "<AppIconName>", 
  5.     "versionString": "<AppVersion>", 
  6.     "webAppPath": "<PathToWebApp>", 
  7.     "configuration": "<Release | Debug>", 
  8.     "platform": "<iOSSimulator | iOS>", 
  9.     "deviceType": "<iPhone | iPad | Universal>", 
  10.     "certificateAlias": "<(Optional)CertificateAlias>", 
  11.     "orientations": [ 
  12.         "portrait", 
  13.         "landscapeLeft", 
  14.         "landscapeRight", 
  15.         "portraitUpsideDown" 
  16.     ] 

注意:在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输入的相同 。

你打包出文件的输出位置,<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. "orientations": [ 
  2.     "portrait",  
  3.     "landscapeLeft",  
  4.     "landscapeRight",  
  5.     "portraitUpsideDown"  

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

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

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

  1. Sample debug configuration file   
  2.  
  3.  
  4.     "applicationName":"Sencha Touch 2 Packaging", 
  5.  
  6.     "applicationId":"com.sencha.touch2packaing", 
  7.  
  8.     "iconName":"icon.png", 
  9.  
  10.     "versionString":"1.0", 
  11.  
  12.     "outputPath":"~/Desktop/STBuild-iOS", 
  13.  
  14.     "webAppPath":"~/Desktop/www/", 
  15.  
  16.     "configuration":"Debug", 
  17.  
  18.     "platform":"iOSSimulator", 
  19.  
  20.     "deviceType":"iPhone", 
  21.  
  22.     "orientations": [ 
  23.  
  24.         "portrait", 
  25.  
  26.         "landscapeLeft", 
  27.  
  28.         "landscapeRight", 
  29.  
  30.         "portraitUpsideDown" 
  31.  
  32.     ] 
  33.  
  34. Sample release configuration file  
  35.  
  36.     "applicationName":"Sencha Touch 2 Packaging", 
  37.     "applicationId":"com.sencha.touch2packaing", 
  38.     "iconName":"icon.png", 
  39.     "versionString":"1.0", 
  40.     "outputPath":"~/Desktop/STBuild-iOS", 
  41.     "webAppPath":"~/Desktop/www/", 
  42.     "configuration":"Release", 
  43.     "platform":"iOS", 
  44.     "deviceType":"iPhone", 
  45.     "orientations": [ 
  46.         "portrait", 
  47.         "landscapeLeft", 
  48.         "landscapeRight", 
  49.         "portraitUpsideDown" 
  50.     ] 

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

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

例如:

  1. "platform":"iOSSimulator" 
  2. "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设备上运行的程序。

原文链接: http://html5mobi.gotoip1.com/discussion/97/sencha-touch-2-sencha-touch-2-ios

责任编辑:佚名 来源: 移动Web开发社区
相关推荐

2011-09-02 15:18:49

Sencha Touc

2011-07-25 15:55:21

Sencha ToucHtml 5

2011-10-26 10:21:40

Sencha Touc组件

2011-10-26 10:43:19

Sencha Touc

2011-09-05 10:27:02

Sencha Touc手机应用Android

2011-10-26 10:32:05

Sencha Touc数据视图

2011-09-02 15:42:55

Sencha Touc布局

2011-09-30 14:15:10

Sencha ToucSencha Touc

2011-09-02 15:58:38

Sencha Touc布局

2012-01-10 13:21:33

Sencha Touc使用data包

2011-09-05 11:23:26

EclipseSencha Touc框架

2011-10-18 09:49:40

新特征Sencha Touc

2011-10-26 10:12:53

Sencha Touc布局

2011-12-20 15:59:28

2011-09-05 13:45:25

jQuery MobiSencha Touc移动Web UI框架

2011-09-05 11:27:17

Sencha Touc框架HTML5

2011-09-02 16:08:09

Sencha ToucAPI文档

2011-07-26 09:41:50

Sencha Touc特性HTML 5

2010-11-22 10:31:17

Sencha touc

2011-07-08 13:44:08

Xcode 打包
点赞
收藏

51CTO技术栈公众号