萬(wàn)萬(wàn)沒(méi)想到,iOS打包,Archive類(lèi)型異常

Preface

前幾天老大給我安排了打包app的任務(wù),這對(duì)于小編來(lái)說(shuō)是很駕輕就熟的事情.

但是萬(wàn)萬(wàn)沒(méi)想到還是出現(xiàn)了異常.

小編用正常的途徑就是無(wú)法成功打包.真的是腦闊疼啊.

當(dāng)時(shí)用其他的打包方法暫時(shí)先頂上了,但是正常的渠道無(wú)法打包,始終是心里的一個(gè)疙瘩.

經(jīng)過(guò)仔細(xì)研究,找到了原因,所以記錄一下并與大家分享.

Content

01 問(wèn)題是什么

a,iOS的正常打包流程為:

a.1,選擇編譯設(shè)備為AnyiOSDevice

a.2,然后Product/Archive,就可以進(jìn)入打包界面了.

b 這個(gè)是正常的界面我們注意到有以下2點(diǎn):

b.1,顯示的按鈕是DistributeApp

b.2,顯示的文件的類(lèi)型是iOS app Archive

c,但是,這次小編進(jìn)來(lái)后的界面如下:

c.1,顯示的按鈕是Distribute Content

c.2,顯示的文件的類(lèi)型是Generic Xcode Archive

然后這樣導(dǎo)出來(lái)的東西,是不包含ipa包的.

02 問(wèn)題的原因

經(jīng)過(guò)多次探索,最終發(fā)現(xiàn)是因?yàn)樵赥arget/BuildPhases/LinkBinaryWithLibraries中引入了一個(gè)framework導(dǎo)致的

03 解決方法:

換一種引入framework的方式:

1,將framework放入一個(gè)目錄中.

2,在target/Build Settings/Search Paths/Framework Search Paths中將該framework添加進(jìn)去.

Xcode會(huì)將該framework連接起來(lái),我們直接正常使用就可以了.

04 調(diào)查過(guò)程

01 查找相似問(wèn)題

碼者(程序猿),遇到問(wèn)題的第一步當(dāng)然是百度了.還真有類(lèi)似的問(wèn)題.

Xcode 10.1 doesn't show 'distribute app' option when archiving, can't archive

這個(gè)是兩年前的問(wèn)題,主要的解決方案說(shuō)是將

target/Build Settings/Skip install選項(xiàng)設(shè)置為NO來(lái)解決.

但是小編的項(xiàng)目就是NO

所以這個(gè)方案不適合小編.

02 對(duì)比正常項(xiàng)目

1,這個(gè)打包異常,小編覺(jué)得肯定是某個(gè)設(shè)置項(xiàng)導(dǎo)致的,所以將Build Settings和正常的項(xiàng)目仔細(xì)對(duì)比了一遍,但是并沒(méi)有發(fā)現(xiàn)問(wèn)題.

2,然后很自然,就想到了,是不是鏈接某個(gè)庫(kù)導(dǎo)致的.所以就發(fā)現(xiàn)了問(wèn)題.

05 總結(jié)

需要學(xué)習(xí)自動(dòng)化打包,擁有PlanB,多一種選擇,多一條生路.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容