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