如何把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系統(tǒng)上打包iOS系統(tǒng)應用程序的步驟
- 前期準備:進入 Apple iOS provisioning portal完成開發(fā)者授權。
- 安裝打包程序部分: Sencha SDK Tools 2.0
- 創(chuàng)建一個配置文件用于打包IOS應用.
- 運行 packager 打包工具,創(chuàng)建一個App.
Step 1:在Apple iOS provisioning portal完成iOS程序開發(fā)者授權
可查看開發(fā)者授權系統(tǒng)Apple iOS provisioning portal 來獲得開發(fā)和發(fā)布應用程序所需要的certificate和profile。
Step 2: 安裝打包程序
運行Sencha SDK 安裝程序: SenchaSDKTools (SenchaSDKTools-2.0.0-Beta)
包含有打包選項的的sencha command會被安裝到指定的目錄中(默認: Applications/SenchaSDKTools-2.0.0-Beta/command).
Step 3: 創(chuàng)建一個配置文件供打包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"
- ]
- }
注意:在Mac系統(tǒng)Terminal上運行如下的命令行可以創(chuàng)建配置文件模板:
- sencha package generate <configTemplate.json>
<configTemplate.json> 是配置文件的名字. 注意: <configTemplate.json> 的路徑和文件名中不能包含空格。
下面參數用于iOS打包
- "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>。
- "iconName":"<AppIconName>"
你的應用程序所需要的圖標文件。
注意: Retina圖標需要在文件名的末尾用@2x標記。例如icon.png (普通的圖標文件),icon@2x.png (retina圖標文件). 如果帶有 @2x.png的retina圖標存在,打包程序將包含retina圖標.
注意: 請參考 iOS icon guideline 來進一步了解圖標文件類型。
- "versionString":"<AppVersion>",
application的版本.
- "webAppPath":"<PathToWebApp>"
用來打包的web application路徑。
- "configuration":"<Release | Debug>"
指定創(chuàng)建出程序的類型: Release or Debug.
- "platform":"<Simulator | iOS>"
制定創(chuàng)建出程序的運行方式 iOS 模擬器還是iOS設備.
注意: the iOS simulator cannot run a signed build. A signed build can only be run on the device.
- "deviceType":"<iPhone | iPad | Universal>"
指定設備類型.可選項: - iPhone:用于 iPhone 設備 – iPad:用于iPad 設備 – Universal:可用于iphone和iPad二者。
- "certificateAlias":"<(Optional)CertificateAlias>"
這是一個非必選項. 你可以指定一個Certificate Alias來給你的app命名。
注意: 如果忽略此選項,默認的certificate將會是你在iOS Provisioning Portal中建立的那一個。
- "orientations": [
- "portrait",
- "landscapeLeft",
- "landscapeRight",
- "portraitUpsideDown"
- ]
這是一個可選的配置項. 你可以給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"
- ]
- }
打包出一個在iOS 模擬器運行的app
準備工作: 在配置文件中設定Platform 和Configuration參數
例如:
- "platform":"iOSSimulator"
- "configuration":"Debug"
注意: 如果platform,configuration這兩個選項沒有提供 iOS將不能正常運行。
在終端運行以下命令,可以打包并在iOS上運行一個debug或unsigned的app。
- sencha package run <configFile.json>
順利執(zhí)行完此命令之后,iOS模擬器將會運行app
注意: “deviceType” 選項將引導啟動合適的模擬器: iPhone iPad.
打包出一個在 iOS 設備上運行的app
在終端運行以下命令,打包出一個在iOS設備上運行的程序
- sencha package <configFile.json>
注意: <AppName.app> 將會輸出在指定的位置,這是一個你可以在iOS設備上運行的程序。
原文鏈接: http://html5mobi.gotoip1.com/discussion/97/sencha-touch-2-sencha-touch-2-ios