最近更新了xcode9 原有的自動化打包工具不好用了,會出現如下報錯
具體如下
根據日誌可以看出是歸檔的時候簽名失敗
指令碼如下
# export archive
echo "export archive project $ date:$(date +%y/%m/%d/%h:%m:%s)"
xcodebuild -exportarchive -archivepath build/unity-iphone.xcarchive \
-exportoptionsplist $ \
-exportpath build/package
if [ $? -ne 0 ];then
echo "export archive failed."
errorend
fi
經過分析和查閱資料,發現不同之處就是這個$代表的plist檔案,之前直接引用的xcode工程內預設生成的plist檔案。現在的話就需要自己新增乙個plist檔案,並且需要在這個plist檔案中新增provisioning profile資訊
<?xml version="1.0" encoding="utf-8"?>
provisioningprofiles
%provisioning profiles name or uuid%
signingcertificate
%codesign_identity%
signingstyle
manual
teamid
%teamid%
method
development
上面**中的%***%需要替換為自己專案的實際內容,不要%%
%provisioning profiles name or uuid% 這個是provisioning profiles 的名稱或uuid
%codesign_identity% 這個是簽名 可以是名稱或uuid 如:"iphone developer:zhang san(ffffffff)"
%teamid% 這個是10位的teamid
更多xcodebuild 的引數可以在命令列輸入 xcodebuild -help 檢視
下面附上-exportoptionsplist 的描述
參考:
xcode使用命令列打包ipa
打包是利用xcodebuild在終端輸入命令列,最終輸出ipa包 第一步 進入工程目錄配置好證書和bundleid 這個是和你的證書配套的 第二步 用真機測試,確保能夠執行成功,因為真機能過測試成功,那說明打包ipa才是可行的 eg 第四步 在第三步正確的前提下,輸入xcodebuild clean...
Unity 命令列打包
在寫文章之前先說下unity已經自帶了視覺化打包,我為什麼要多此一舉進行命令列打包,估計剛接觸unity的小夥伴都會有這樣的疑惑,當你遊戲要發布到android平台你就會知道,需要接不通平台的sdk,甚至有些平台還需要改包名。而遊戲從接完平台sdk,到發布還需要經過無數次的測試,發布後甚至還需若干次...
Unity命令列打包
補充unity編輯器端獲取打包命令列自定義引數,這個可以獲取到所有打包時的引數 string runargs system.environment.getcommandlineargs 一 在assets editor目錄下放個指令碼 using unityengine using unityedi...