XCode 8.3 自動打包問題

自動打包,簡單來說就是使用指令來完成打包ipa的動作,為啥這樣做,有很多說法,但大部分研究這樣手段的原因就是在精簡發布的流程。

來說說這次跟新完XCode 8.3後,出現的悲劇,在於之前使用的方式“xcodebuild創建app後,在使用xcrun打包ipa。”,這種方式,完全停用了。

現在可用的方式:

xcodebuild打包Archive文件,再從Archive文件導出ipa。

同時,從Archive文件導出ipa,這邊也將 -exportProvisioningProfile 這個指令停用,改用 -exportOptionsPlist 這一指令。

exportOptionsPlist 這個一個plist格式的配置文件,內容如下:

<?xml version=”1.0" encoding=”UTF-8"?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version=”1.0">
<dict>
<key>method</key>
<string>分布類型:上架,測試,企業發布</string>
<key>teamID</key>
<string>發布帳號ID</string>
<key>uploadBitcode</key>
<false/>
<key>compileBitcode</key>
<false/>
</dict>
</plist>

xcodebuild打包Archive文件完成之後,從Archive文件導出ipa,電腦又出現另一奇怪的問題:

Error Domain=IDEDistributionErrorDomain Code=14 “No applicable devices found.” UserInfo={NSLocalizedDescription=No applicable devices found.}

這項問題查了下網路,直指ruby的使用有問題,處理方法,在執行打包指令前,先下:

rvm use system

這樣就可以順利導出ipa檔,然後就可執行發布。

Like what you read? Give WU Hsien You a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.