打包前注意事項
使用Xcode導(dǎo)出安裝包之前,必須先確認賬戶的所有合約是否全部同意,如果有不同意的,在出包的時候會彈出報錯
點擊前往蘋果開發(fā)者官網(wǎng)https://appstoreconnect.apple.com/agreements/
登錄自己的開發(fā)者賬戶后,可以看到提示,有未同意的合約
還有一點要注意的是,Xcode工程在導(dǎo)出安裝包之前,執(zhí)行build必須沒有錯誤。
第一步
先在Xcode中,菜單欄? =>? Product=>?Archive 開始打包Archive,右上角顯示打包Archive進度
第二步
第三步:
選擇一個Archive,Distribute App按鈕才會亮起
在訪達中查看一下, 文件類型是xcarchive
點擊Distribute App按鈕
第三步
咱們要發(fā)布TestFlight,所以選第一項,點擊右下角Next下一步
第四步
Upload會直接把這個包上傳到官網(wǎng)
Export則是導(dǎo)出IPA文件,你自己使用工具上傳,如果你想自己上傳,請移步第第六步之后的Transporter上傳。
第五步
?第六步
使用Xcode-archive上傳
再次確認上傳信息,沒問題點擊上傳
?正在上傳
報錯!?。。?/strong>
如果包里有不可執(zhí)行的文件,會報這個錯
Unexpected CFBundleExecutable Key. The bundle at 'Payload/hqhy.app/hqsdk.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue. (ID: cfea2d8a-ff26-4674-81dd-7893c3469456)
解決方法:
?回到Xcode項目中,在文件目錄里找到對應(yīng)名字的文件夾,例如我的報錯是hqsdk.bundle,找到里面的info.plist文件,把里面的ExecutableFile選項刪掉,點那個刪除按鈕,這里的配圖不是我項目的截圖
第七步:Xcode上傳
看上傳的提示 Uploading to App Store Connect...
App Store Connect是啥??看截圖就知道,這是管理我們開發(fā)者賬戶所有app的地方
上傳成功后,App Store Connect就會出現(xiàn)我們剛才上傳的版本圖標。點擊圖標進去
?由于我們上傳的是TestFlight版本,只看TestFlight選項就好了,版本2.1.1和我在Xcode上傳時一致,證明上傳成功了。
使用Mac Transporter軟件上傳
支持ipa文件和pck文件上傳,這個ipa文件怎么來的?在前文的Archive上傳過程中,可以選擇只導(dǎo)出不上傳,這個Export就是導(dǎo)出ipa工程
把這個ipa文件拖拽到到Transporter中,按步驟點擊上傳即可,非常簡單,下圖是上傳畫面
第七步
上傳成功后,檢查是否過檢
上傳成功后,去AppStoreConnect官網(wǎng)查看上傳版本,請注意剛上傳需要審核,審核時間短則5分鐘,長則一天,請留意郵件
上傳后檢查剛才上傳的安裝包有沒有通過檢查,如果你上傳的版本在TestFlight里不見了,證明沒過檢查。
遇到這種情況,去你的郵箱里查看具體原因
TestFlight網(wǎng)站出現(xiàn)版本號和圖標,并且文字是(正在處理),基本就穩(wěn)了,等著吧。
第八步
正在等待審核的字樣
第九步
第十步 創(chuàng)建小組
你可以選擇創(chuàng)建外部測試小組,然后在版本里添加小組。必須添加小組才能在小組里看到外部鏈接
第十一步 啟動公開鏈接
第十二步
打開iphone手機,訪問圖里的公開鏈接
沒加入版本的測試小組,則沒有啟動公開鏈接的按鈕,如下圖所示
第十三步
下圖是iphone手機訪問鏈接的樣子,點擊開始測試按鈕就開始下載了。大功告成!
記錄一些報錯
遇到報錯不要慌,幾乎所有的報錯在網(wǎng)上都能查到解決方案。
?找到報錯對應(yīng)名字的文件夾,找到Info.plist文件,然后刪除掉這一行。
?ITMS-90683: Missing purpose string in Info.plist?- Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “hqhy.app” bundle should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details
我的原因是權(quán)限問題,需要添加權(quán)限,根據(jù)郵件提示,找到對應(yīng)的plist文件,添加一行新數(shù)據(jù),把NSPhotoLibraryUsageDescription粘貼進去,它自己就變成了Privacy - Photo Library Usage Description,然后value就是彈出的文字提示,自己寫啥都行
文章來源:http://www.zghlxwxcb.cn/news/detail-785046.html
修改所有BUG,再次上傳。文章來源地址http://www.zghlxwxcb.cn/news/detail-785046.html
到了這里,關(guān)于Xcode發(fā)布AppStore與TestFlight全流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!