国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

IPA文件的自動化生成和無線分發(fā)

2019-11-14 20:40:55
字體:
供稿:網(wǎng)友

1. ipA的無線分發(fā)

  iOS應(yīng)用開發(fā)測試過程中,通過無線網(wǎng)絡(luò)進(jìn)行IPA包的分發(fā)將是非常便捷的,于是也就有了類似testflightapp之類的平臺。對于這一功能,我們也可以自己實(shí)現(xiàn),只需要一個簡單的http server,并部署三個文件:

  index.htm  AppName.plist  AppName.ipa

AppName.plist 和 AppName.ipa 文件的生成方式會在后面講述,而 index.htm的內(nèi)容如下:

<a href="itms-services://?action=download-manifest&url=http://192.168.1.5/AppName/AppName.plist">Click to Install AppName</a>

可以猜測,該index.htm頁面的功能是下載plist文件,并進(jìn)行觸發(fā)ipa文件的下載和安裝。

注:

  iOS Developer PRogram 類賬號可注冊的測試設(shè)備上限為100臺,只有注冊了其UDID的設(shè)備才可以安裝該賬號開發(fā)的App;

  iOS developer Enterprise Program 類賬號則對設(shè)備數(shù)量不做限制,相對iOS Developer Program來講,企業(yè)賬號支持“in-house”應(yīng)用,但不能提交應(yīng)用到AppStore。該賬號可創(chuàng)建"in-house"類型的Provisioning Profile,使用該P(yáng)rofile的App則可以安裝到任何設(shè)備上,無須注冊設(shè)備的UDID。

 

2. IPA文件的自動化生成

  手動生成(Xcode 5):

  點(diǎn)擊 Xcode->Product->Archive 菜單項(xiàng),會打開 Organizer-Archives 窗口,點(diǎn)擊 Distribute...,然后選擇 Save for Enterprise or Ad Hoc Deployment,之后要選擇相應(yīng)的Provisioning Profile文件,點(diǎn)擊 Export 按鈕會彈出保存ipa文件的窗口,勾選窗體下方的 Save for Enterprise Distribution 選項(xiàng)

其中"application URL"為IPA文件的鏈接地址,如 http://192.168.1.5/AppName/AppName.ipa,然后填寫Title后,其它內(nèi)容都可不填。這樣,保存后將會生成AppName.ipa 和 AppName.plist 兩個文件。

 

  自動生成:

 上面講到的生成ipa包的過程,需要點(diǎn)擊、選擇、填寫等多個步驟。這里利用Xcode提供的命令行工具可以自動化完成,其關(guān)鍵命令為

xcodebuild -exportArchive -exportFormat IPA -archivePath AppName.xcarchive -exportPath AppName.ipa -exportProvisioningProfile 'MyApp Distribution Profile'

意為,使用provisionging profile 'MyApp Distribution Profile' 將歸檔文件 AppName.xcarchive 導(dǎo)出為IPA文件 AppName.ipa


其中 AppName.xcarvhive 文件在使用上面提到的Xcode->Product->Archive菜單項(xiàng)即可生成(這里要講到的自動化生成,即在點(diǎn)擊該菜單項(xiàng)后自動化生成IPA文件),此時生成的archive文件名都遵循按Xcode自定的命名規(guī)則,并統(tǒng)一生成到一個既定目錄下(~/Library/Developer/Xcode/Archives)

 

在Archive Scheme中添加Post-actions

  在Product > Scheme > Edit Scheme 的 Archive 項(xiàng)中添加Post-actions,并在其Run Script中添加如下腳本

archive=`bash ~/tools/newest_archive.sh`ipa_path=~/ipa/AppName.iparm "${ipa_path}"xcodebuild -exportArchive -exportFormat IPA -archivePath "${archive}" -exportPath "${ipa_path}" -exportProvisioningProfile "MyApp Distribution Profile"

該腳本將在Archive菜單項(xiàng)的操作完成后自動執(zhí)行。

 

獲取最新的archive歸檔文件

  上面的shell腳本中的 newest_archive.sh 是一個簡單的bash腳本,用以獲取最新的archive文件,即剛剛由Archive菜單項(xiàng)生成的,其內(nèi)容如下

//! newest_archive.shnewest=backIFS=$IFSIFS=$(echo -en '/n/b')for f in `find ~/Library/Developer/Xcode/Archives -name *.xcarchive`do        if [ -z $newest ]        then                newest=$f        elif [ $f -nt $newest ]        then                newest=$f        fidoneecho "${f}"FS=$backIFS

如此,在每次點(diǎn)擊Archive菜單項(xiàng)時,都會將最新生成的archive歸檔文件自動導(dǎo)出為AppName.ipa文件,并將其存到~/ipa目錄之下。

注:

  1. 也許Xcode有提供更方便的訪問相應(yīng)archive文件的方法,如有請指教

  2. plist文件手工生成一次即可,所以也就沒有plist文件的自動化生成...

 

參考資料:

1. Wireless AdHoc Distribution http://gknops.github.io/adHocGenerate/

2. 頒發(fā)用于iOS設(shè)備的企業(yè)級應(yīng)用程序 http://help.apple.com/iosdeployment-apps/mac/1.1/?lang=zh-cn

3. Xcode命令行工具之xcodebuild說明 https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 藁城市| 苏尼特右旗| 临海市| 白朗县| 屏山县| 女性| 靖宇县| 含山县| 桦甸市| 开原市| 郧西县| 文昌市| 保德县| 耒阳市| 木里| 勃利县| 肇庆市| 孝昌县| 亚东县| 西安市| 札达县| 金沙县| 桑日县| 石阡县| 景泰县| 搜索| 陕西省| 乌鲁木齐县| 长汀县| 北宁市| 会宁县| 凌源市| 郧西县| 清水县| 秦皇岛市| 镇远县| 桃源县| 乐业县| 龙岩市| 固安县| 谷城县|