iOS 私有庫(kù)中依賴私有庫(kù) 且有第三方framework的處理

一、私有庫(kù)依賴私有庫(kù)的處理

  • 在podspec中添加
  s.dependency 'XXXNetworking'
  • 在podfile中惶凝,添加上官方庫(kù)和私有庫(kù)的地址桩蓉,不然pod install不通過
source 'https://cdn.cocoapods.org/'  # 官方庫(kù)
source 'http://XXXX'   # 私有庫(kù)

二破婆、添加第三方的framework

這個(gè)過程中出現(xiàn)了很多的問題,一一列舉解決

1、framework放置的位置

一開始將framework還是放在Classes文件夾中掌栅,可以pod install項(xiàng)目中秩仆,但是出現(xiàn)了問題

  • 首先是s.ios.vendored_frameworks = 'XXX/Classes/Frameworks/*.framework',需要這樣來寫
  • 但是這樣弄了之后猾封,雖然pod進(jìn)了項(xiàng)目逗概,但是多了framework的文件夾,導(dǎo)入到主工程中會(huì)將所有的framework中的頭文件都導(dǎo)入進(jìn)來
問題解決

后來經(jīng)過查資料忘衍,framework應(yīng)該放在與podspec同級(jí)別的位置逾苫,這樣pod install之后才會(huì)顯示正常,并且導(dǎo)入到主工程正常枚钓。


image.png
2铅搓、pod spec lint 驗(yàn)證錯(cuò)誤
  • 用之前pod spec lint --verbose --allow-warnings,但是這樣報(bào)錯(cuò)2蠼荨P顷!
  • 因?yàn)楫?dāng)用到除github上的庫(kù)依賴時(shí)嫩舟,在進(jìn)行遠(yuǎn)程驗(yàn)證的時(shí)候要把所有的索引源都帶上氢烘,于是改成了這樣:pod spec lint --sources=xxx/xxxSpecs.git,https://cdn.cocoapods.org/ --verbose --allow-warnings
  • 一般項(xiàng)目到這里就沒問題了,但是我這個(gè)依然報(bào)錯(cuò)家厌,因?yàn)樗接袔?kù)中包含了百度BOS的第三方庫(kù)播玖,所以還是報(bào)錯(cuò)!7褂凇蜀踏!
問題解決

改成這樣就行了pod spec lint --sources=xxx/xxxSpecs.git,https://cdn.cocoapods.org/ --use-libraries --verbose --allow-warnings

3、push上傳

在驗(yàn)證的時(shí)候我們添加了source源和use-libraries掰吕,那么在push的時(shí)候也要相應(yīng)的加上果覆,這樣才不報(bào)錯(cuò)

問題解決

pod repo push iOS_ZXKSpecs iOS_ZXKBaiduUploadKit.podspec --sources=xxx/xxxSpecs.git,https://cdn.cocoapods.org/ --use-libraries --verbose --allow-warnings

4、主工程中pod install報(bào)錯(cuò)

這時(shí)候私有庫(kù)的上傳已經(jīng)沒有問題殖熟,歡喜的去主工程中進(jìn)行pod install了局待,也沒有問題~但是當(dāng)run工程的時(shí)候,真機(jī)沒有問題菱属,但是模擬器卻報(bào)錯(cuò)了:
building for iOS Simulator, but linking in object file built for iOS,……or architecture arm64
這種的錯(cuò)誤:


image.png
問題解決

這個(gè)問題查了很久钳榨,搜了很多試了很多,直接先上最后的解決辦法
在私有庫(kù)的podspec文件中照皆,添加如下語(yǔ)句

  s.xcconfig = { 'VALID_ARCHS' => 'arm64 x86_64 armv7' }
  
  s.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 arm64', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
  s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }

然后在主工程的build setting => User-Defined添加VALID_ARCHS為arm64 arm64e x86_64

再把私有庫(kù)更新導(dǎo)入一下重绷,這樣主工程用模擬器跑就不會(huì)報(bào)錯(cuò)了

其他錯(cuò)誤

在另一個(gè)引入先聲評(píng)測(cè)的私有庫(kù)中,在一開始依賴SingSoundSDK的時(shí)候報(bào)了如下錯(cuò)誤

The 'Pods-Tatget' target has transitive dependencies that include static binaries

1膜毁、這是由于在Podfile中使用了use_frameworks!
由于交叉依賴性昭卓,不能同時(shí)擁有與框架和靜態(tài)庫(kù)相同的pod愤钾,導(dǎo)致出現(xiàn)了這種錯(cuò)誤。
2候醒、Cocoapods 1.3.1及更早的版本不支持靜態(tài)庫(kù)框架依賴項(xiàng)能颁,Cocoapods1.4.0中添加了static_framework選項(xiàng),使您可以指定將pod構(gòu)建為static_framework,與動(dòng)態(tài)框架不同倒淫,它可以具有靜態(tài)框架依賴性伙菊。
3、要解決這個(gè)問題敌土,通過pod引入的第三方镜硕,則需要修改對(duì)應(yīng)的podspec文件,其依賴項(xiàng)的static_framework為true返干。任何依賴于static_framework的pod也必須是靜態(tài)的兴枯,動(dòng)態(tài)庫(kù)不能依賴于靜態(tài)庫(kù)
4、我是將Podfile中的use_frameworks!直接去掉了

參考資料:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末矩欠,一起剝皮案震驚了整個(gè)濱河市财剖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌癌淮,老刑警劉巖躺坟,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乳蓄,居然都是意外死亡咪橙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門栓袖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匣摘,“玉大人店诗,你說我怎么就攤上這事裹刮。” “怎么了庞瘸?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵捧弃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我擦囊,道長(zhǎng)违霞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任瞬场,我火速辦了婚禮买鸽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贯被。我一直安慰自己眼五,他們只是感情好妆艘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著看幼,像睡著了一般批旺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诵姜,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天汽煮,我揣著相機(jī)與錄音,去河邊找鬼棚唆。 笑死暇赤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宵凌。 我是一名探鬼主播翎卓,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼摆寄!你這毒婦竟也來了失暴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤微饥,失蹤者是張志新(化名)和其女友劉穎逗扒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欠橘,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡矩肩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肃续。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍檩。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖始锚,靈堂內(nèi)的尸體忽然破棺而出刽酱,到底是詐尸還是另有隱情,我是刑警寧澤瞧捌,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布棵里,位于F島的核電站,受9級(jí)特大地震影響姐呐,放射性物質(zhì)發(fā)生泄漏殿怜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一曙砂、第九天 我趴在偏房一處隱蔽的房頂上張望头谜。 院中可真熱鬧,春花似錦鸠澈、人聲如沸柱告。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)末荐。三九已至侧纯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甲脏,已是汗流浹背眶熬。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留块请,地道東北人娜氏。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像墩新,于是被迫代替她去往敵國(guó)和親贸弥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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