一. 打包測試簡介
-
何謂打包測試
- 所謂打包測試, 就是將正在開發(fā)的App, 打包為.ipa壓縮包, 指定的設(shè)備安裝這個(gè).ipa壓縮包就可以進(jìn)行真機(jī)測試
-
打包測試的目的
- 作為開發(fā)人員, 當(dāng)你開發(fā)的App完成度到一定階段的時(shí)候, 就需要專門的測試人員對你的App進(jìn)行測試, 查找bug. 但是你總不能讓每一個(gè)測試人員拿著真機(jī)到你的電腦旁連接Xcode進(jìn)行測試, 因此此時(shí)就需要打包測試
- 如果是外包公司的話, 當(dāng)開發(fā)完App的時(shí)候, 想要給用戶演示的話, 也需要打包為ipa包給客戶體驗(yàn)
-
如何進(jìn)行打包測試
- 打包測試與Xcode7.0之前做真機(jī)測試一樣, 也需要繁瑣的步驟, 因此很是麻煩
- 步驟: 準(zhǔn)備好懵逼
- 登錄蘋果開發(fā)者的主頁
- 生成打包測試證書: 在左側(cè)的列表中選擇Certificates(證書)的All選項(xiàng) -> 右側(cè)選擇AppStore and Ad Hoc(打包測試用)
- 確定需要進(jìn)行打包測試的App: 在左側(cè)的列表中選擇Identifiers的App IDs選項(xiàng) -> 右側(cè)選擇App ID Suffix, 并且勾選Explicit App ID, 然后在下方輸入你的App的Bundle ID
- 確定可以安裝App測試包的設(shè)備: 在左側(cè)的列表中選擇Devices的ALL選項(xiàng) -> 在右側(cè)的右上方點(diǎn)擊+號, 使用真機(jī)的UDID來添加一個(gè)真機(jī)設(shè)備
- 根據(jù)上面三項(xiàng)生成一個(gè)描述文件: 左側(cè)列表中選擇Provisioning Profiles -> 右側(cè)點(diǎn)擊右上角的+號, 然后下方選擇Ad Hoc選項(xiàng)(打包測試類型), 生成一個(gè)描述文件
- 此時(shí)你的電腦上應(yīng)該已經(jīng)生成了3個(gè)文件, 分別為
-
CertificateSigningRequest.certSigningRequest- cer證書: 他是跟電腦相關(guān)聯(lián)的證書文件, 讓你的電腦具備真機(jī)調(diào)試的功能
-
ios_distribution.cer- 打包證書: 安裝之后, 讓你的計(jì)算機(jī)允許打包App
-
XXX.mobileprovision- 該文件包含了三個(gè)信息: 打包證書的信息 + 設(shè)備UDID + App ID
-
- 至此, 各種與證書有關(guān)的操作暫時(shí)告一段落, 接下來準(zhǔn)備打包
- 進(jìn)行打包:
- 打開你的程序, 在運(yùn)行設(shè)備中, 選為真機(jī)選項(xiàng), 并且將Bundle Identifier改為開發(fā)者中心中, 生成的描述文件內(nèi)一致的ID
- 點(diǎn)擊TARGET -> Build Setting -> 搜索Code Signing:
- 檢查Code Signing Identity是否與打包測試生成的是否一樣
- 檢查Provisioning Profile是否與打包測試生成的一樣
- 在上側(cè)菜單欄的Product -> Archive, 此時(shí)會(huì)彈出一個(gè)對話框, 提示是否允許訪問鑰匙串, 選擇始終允許
- 在Archive界面, 選擇要打包的App, 右側(cè)邊欄選擇Export導(dǎo)出ipa包
- 點(diǎn)擊導(dǎo)出, 會(huì)彈出四個(gè)選項(xiàng), 這里選擇
Save for Ad Hoc Deployment測試打包 - 接下來選擇對應(yīng)的開發(fā)團(tuán)隊(duì), 然后點(diǎn)擊Choose
- 在彈出的三個(gè)選項(xiàng)中, 選擇第一項(xiàng)
Export a universal app for all compatible devices針對所有包含的設(shè)備, 生成一個(gè)通用的App - 最后, 會(huì)展示打包概述頁面, 直接點(diǎn)擊下一步就會(huì)生成ipa包了
- 至此蛋疼的步驟就都結(jié)束了,是不是很蛋疼呢? 但是為了解決用戶希望測試項(xiàng)目的目的, 不弄也不成啊, ipa包可以使用iTunes來安裝
二. 打包中可能出現(xiàn)的問題
- 在打包過程中, 遇到過一個(gè)很坑的問題, 反復(fù)折騰之后, 才明白原來是證書失效了
- 當(dāng)提示錯(cuò)誤:
Missing iOS Distribution signing identity for...., 這就是由于你的鑰匙串中的證書失效了大致的 - 系統(tǒng)的證書:
Apple World Wide Developer Relations Certificate Authority這個(gè)證書過期了 - 解決方案: 在Apple官方網(wǎng)站重新下載一個(gè)證書, 并且重新安裝
- 當(dāng)提示錯(cuò)誤: