Mac:Xcode自動(dòng)打包上傳蒲公英和AppStore

本機(jī):Mac Serria,Xcode8

參考文章:

使用文章1的方式(xcodebuild,xcrun)進(jìn)行打包或者腳本調(diào)用客叉,build success诵竭,但是無(wú)法打包
使用文章2的方式(xcodebuild archive ,exportArchive,exportOptionsPlist)成功了,并且包大小與之前使用Xcode打出的包大小完全一致(根據(jù)文章2的各打包方式分析兼搏,由此猜測(cè)是Xcode的因素)卵慰,但還是命令行一步步來(lái),麻煩
于是佛呻,就想著把兩個(gè)文章結(jié)合起來(lái)裳朋,也就是說(shuō)修改autobuild.py腳本,使用xcodebuild archive等命令打包吓著,代碼可前往autoArchive下載使用鲤嫡,可打adhoc包和AppStore包并直接上傳蒲公英或者AppStore。

執(zhí)行python命令行需要的配置夜矗,即執(zhí)行過(guò)程中遇到的問(wèn)題:

  • autobuild.py執(zhí)行需要最新版python3泛范,可以去官網(wǎng)下載,下載安裝之后可以使用which python3查看安裝地址。也可以通過(guò)homebrew安裝brew install python.
//更新python后運(yùn)行報(bào)錯(cuò)
File “autobuild.py”, line 6, in 
 import requests 
ImportError: No module named requests 
  • python中HTTP處理用到了requests紊撕,如果之前未安裝過(guò)罢荡,需要安裝一下,安裝方式如下

    方式一:先安裝pip,再安裝requests

 sudo easy_install pip 
 sudo pip install requests

使用此種方法对扶,如果還是無(wú)法調(diào)用requests区赵,需修改系統(tǒng)的PYTHONPATH,將PYTHONPATH 指向requests的路徑
export PYTHONPATH=$PYTHONPATH:./requests(絕對(duì)路徑)(未成功浪南,沒(méi)仔細(xì)研究)

方式二:requests官網(wǎng)下載

//我是從github下載源碼笼才,然后嵌入到python包里
cd ./requests (路徑直接拖上來(lái))
python3 setup.py install
  • 再記下python縮進(jìn)錯(cuò)誤


    python縮進(jìn)錯(cuò)誤.png

python的代碼對(duì)縮進(jìn)方式非常嚴(yán)格,tab和空格不可混用,遇到IndentationError就要檢查下自己的縮進(jìn)络凿,當(dāng)然一般是看不出來(lái)什么的骡送,所以我都是把整段代碼重敲一遍,就OK了絮记。敲黑板:一定要注意摔踱,不要隨便用xcode打開(kāi)python做改動(dòng),一不小心就把縮進(jìn)弄錯(cuò)了怨愤,查看修改保存都用編輯器派敷。

最后,一行代碼,打包上傳蒲公英篮愉,完美執(zhí)行腐芍,哈哈哈,撒花
更厲害的python:http://www.2cto.com/kf/201312/262436.html

使用plistBuddy管理plist文件

exportArchive需要配置的plist文件可以使用手動(dòng)打包導(dǎo)出的文件夾內(nèi)的exportOption.plist(已自動(dòng)生成的配置)
由于plistBuddy不在默認(rèn)path中所以必須使用絕對(duì)路徑調(diào)用,加入-c否則會(huì)進(jìn)入人機(jī)交互模式不會(huì)執(zhí)行后面的命令试躏。
可以使用-h查看使用信息
/usr/libexec/PlistBuddy -h
舉例:修改bundleVersion
/usr/libexec/PlistBuddy -c 'Set :CFBundleVersion 1991’ /xxx.plist

提交到開(kāi)發(fā)者中心

altoolPath="/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool"
${altoolPath} --validate-app -f ./xxx.ipa -u username -p password --output-format xml >>
${altoolPath} --upload-app -f ./xxx.ipa -u username -p password --output-format xml

其中猪勇,username、password即開(kāi)發(fā)者賬號(hào)和密碼冗酿。成功會(huì)有個(gè)success-message的key埠对,而失敗會(huì)有product-errors的key

  • Jenkins/ssh遠(yuǎn)程登錄打包出錯(cuò):code sign ...User interaction is not allowed
    1.原來(lái)是需要UI界面來(lái)提示使用鑰匙串中的證書(shū)進(jìn)行簽名,默認(rèn)的證書(shū)都添加到了登錄中裁替,可以在打包前使用下面命令打開(kāi)鑰匙串:
security -v unlock-keychain -p "這是登錄用戶的密碼"~/Library/Keychains/login.keychain

2.還可以使用Jenkins的xcode插件


jenkins修改keychain.png

注:遠(yuǎn)程登錄项玛,也需要電腦切換為該遠(yuǎn)程用戶登錄,并配置好證書(shū)和相關(guān)配置文件弱判,否則出現(xiàn)no profile錯(cuò)誤

Xcode10自動(dòng)打包Error

  • cocoapods三方provisioning profiles配置錯(cuò)誤
Build system information
error: Alamofire does not support provisioning profiles. Alamofire does not support provisioning profiles, but provisioning profile Demo has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor. (in target 'Alamofire')

解決:workspace使用cocoapods且podfile中指明use_frameworks! xcodebuild命令行需要配置CODE_SIGNING_ALLOWED = "NO"

  • cocoapods shell命令執(zhí)行錯(cuò)誤
total size is 7334201  speedup is 1.00
/Users/kouakini/YouLiZhiYu_iOS/Pods/Target Support Files/Pods-YouLiZhiYu/Pods-YouLiZhiYu-frameworks.sh: line 104: EXPANDED_CODE_SIGN_IDENTITY: unbound variable
Command PhaseScriptExecution failed with a nonzero exit code

解決:定位報(bào)錯(cuò)的文件襟沮、定位104行、將 if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}"改為if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}"

配置總結(jié)

//requests根目錄
cd ./requests-master
//執(zhí)行setup.py文件
python3 setup.py install

Xcode11 autoArchive打包修改

如果遇到三方庫(kù)簽名失敗昌腰,去掉CODE_SIGN_IDENTITY="%s"

舊:
buildCmd = 'xcodebuild archive -workspace %s -scheme %s -configuration %s -archivePath %s CODE_SIGN_IDENTITY="%s" PROVISIONING_PROFILE="%s"' %(workspace, SCHEME, CONFIGURATION, archive, CODE_SIGN_IDENTITY, provisionprofile)
新:
buildCmd = 'xcodebuild archive -workspace %s -scheme %s -configuration %s -archivePath %s PROVISIONING_PROFILE="%s"' %(workspace, SCHEME, CONFIGURATION, archive, provisionprofile)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末开伏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遭商,更是在濱河造成了極大的恐慌固灵,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫流,死亡現(xiàn)場(chǎng)離奇詭異巫玻,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)祠汇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門仍秤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人可很,你說(shuō)我怎么就攤上這事诗力。” “怎么了我抠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵苇本,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我菜拓,道長(zhǎng)瓣窄,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任尘惧,我火速辦了婚禮康栈,結(jié)果婚禮上递递,老公的妹妹穿的比我還像新娘喷橙。我一直安慰自己啥么,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布贰逾。 她就那樣靜靜地躺著悬荣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪疙剑。 梳的紋絲不亂的頭發(fā)上氯迂,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音言缤,去河邊找鬼嚼蚀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛管挟,可吹牛的內(nèi)容都是我干的轿曙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼僻孝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼导帝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起穿铆,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤您单,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后荞雏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體虐秦,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年讯檐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了羡疗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡别洪,死狀恐怖叨恨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挖垛,我是刑警寧澤痒钝,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站痢毒,受9級(jí)特大地震影響送矩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哪替,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一栋荸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦晌块、人聲如沸爱沟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呼伸。三九已至,卻和暖如春钝尸,著一層夾襖步出監(jiān)牢的瞬間括享,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工珍促, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铃辖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓猪叙,卻偏偏與公主長(zhǎng)得像澳叉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沐悦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容