解決pod lib lint/repo push不支持i386編譯&只能真機運行的庫

源起

公司有幾個私有pod庫,一直使用的是:git =>'https://xxxx.git'這種方式集成的磺箕,但是每次 pod update 的時候都需要下載一遍搂捧,而且公司的網(wǎng)太慢了卵贱,十分不爽(*  ̄︿ ̄)

公司的網(wǎng)確實奇怪滥沫,網(wǎng)易云音樂聽歌一點都不卡,一旦和工作有關(guān)的網(wǎng)就特別慢键俱。兰绣。。老板你聽我解釋···

意外的事情

有一些只能在真機運行的庫编振,在pod lib lint 階段就不能通過缀辩,直接報錯 , 原先做的pod都是模擬器可以運行的,所以就

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **
The following build commands failed:
    Ld /Users/lzh/Library/Developer/Xcode/DerivedData/App-gaskduvrghhdcwcbkdqpuxupzbfv/Build/Intermediates/App.build/Release-iphonesimulator/App.build/Objects-normal/i386/App normal i386
    Ld /Users/lzh/Library/Developer/Xcode/DerivedData/App-gaskduvrghhdcwcbkdqpuxupzbfv/Build/Intermediates/App.build/Release-iphonesimulator/App.build/Objects-normal/x86_64/App normal x86_64
(2 failures)

解決方法

第一種:文人操作

  • 第一種
  1. 在 podspec 文件中添加 s.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 arm64' }雌澄,如果項目已經(jīng)設(shè)置 pod_target_xcconfig斋泄,添加到已有值的后面。
    僅編譯64位镐牺,嘗試是否可以解決炫掐。
    感謝評論區(qū)[傲慢的孑然]的新建議, 我在cocoapods1.8.4 嘗試??
  • 或第二種
  1. 在 podspec 文件中添加 s.pod_target_xcconfig = { 'ARCHS[sdk=iphonesimulator*]' => '$(ARCHS_STANDARD_64_BIT)' },如果項目已經(jīng)設(shè)置 pod_target_xcconfig睬涧,添加到已有值的后面募胃。
    僅編譯64位,嘗試是否可以解決畦浓。
  • 或第三種
  1. 在 podspec 文件中添加 s.pod_target_xcconfig = { 'VALID_ARCHS[sdk=iphonesimulator*]' => '' }痹束,如果項目已經(jīng)設(shè)置 pod_target_xcconfig,添加到已有值的后面讶请。設(shè)置此處將在 模擬器編譯時不產(chǎn)生二進制文件祷嘶。

  2. pod lint 命令添加 --skip-import-validation 參數(shù),lint 將跳過驗證 pod 是否可以導(dǎo)入夺溢。

  3. pod repo push 命令添加 --skip-import-validation 參數(shù)论巍,push 將跳過驗證 pod 是否可以導(dǎo)入。

  4. O雞兒K风响,可以試試嘉汰,不成功還有【第二種:張飛操作】

第二種:張飛操作

不就是編譯不通過嗎?
直接改源碼状勤,將編譯檢測跳過去鞋怀,老子不編了,

image.png

檢測的源碼在 validator.rb文件 如何找到它持搜?

1. 終端 gem which cocoapods

輸出:/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.0.beta.2/lib/cocoapods.rb

2. 終端 open /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-1.3.0.beta.2/lib/

將第一步命令輸出的結(jié)果去掉最后的文件名cocoapods.rb密似,將前面的路徑加到 open命令的后面, 執(zhí)行命令后會在Finder打開一個lib文件夾

3. 在當(dāng)前lib目錄下有個cocoapods文件夾,進入朵诫,validator.rb文件就在這個文件夾里

如何修改它辛友?

找到下面的代碼

源代碼.png

改成下面的樣子

更改后.png

這樣每次向倉庫推送podspec文件的時候,都會直接打印一下xcodebuild --help 然后就算作通過驗證了
接下來你就可以安心的 push 你的代碼了
像一些x86_64剪返,i386,不支持模擬器啦邓梅,這種都是小case脱盲,所有編譯錯誤都可以解決

注意

  1. 此方法因為太叼,不到萬不得已日缨,不能使用钱反,過分依賴容易走火入魔


    image.png
  2. 一定在本地先以:path:git 等的方式集成一下,確認沒問題后再往倉庫推
  3. 搞完以后記得改回到原來的代碼面哥,畢竟做庫是為了項目使用的哎壳,多點檢測也是為了保證質(zhì)量

第三種:正常卻又有點麻煩的操作

模擬器 32 位處理器測試需要 i386 架構(gòu),
模擬器 64 位處理器測試需要 x86_64 架構(gòu)尚卫,
真機 32 位處理器需要 armv7 ,或者 armv7s 架構(gòu)归榕,
真機 64 位處理器需要 arm64 架構(gòu)。

第二種方法可以將驗證的命令替換為 xcodebuild --help吱涉,那么也就可以替換為正常的真機校驗命令:

command += %w(-sdk iphoneos12.2 -destination=generic/iOS ONLY_ACTIVE_ARCH=YES ARCHS=armv64) 刹泄。

將驗證的設(shè)備改為通用 iOS 設(shè)備 generic/iOS,sdk 根據(jù)自己電腦 xcode 版本來設(shè)置 iphoneos12.2怎爵,ARCHS 根據(jù)自己支持的真機選擇架構(gòu) arm64特石,可以根據(jù)自己的電腦,仿照上面的命令進行更改鳖链。

此命令會驗證 pod 庫在真機上的表現(xiàn)姆蘸,效果應(yīng)該是最接近原本 cocoapods 命令的本意,但是里面的 sdk 版本 和 cocoapods 版本 在升級時都需要重新設(shè)置芙委。


截圖為 cocoapods v1.5.3
參考文章
  1. cocoapods的github上有個issues
  2. 待解決 pod lib lint pod不支持i386編譯環(huán)境逞敷,如何避開
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市题山,隨后出現(xiàn)的幾起案子兰粉,更是在濱河造成了極大的恐慌,老刑警劉巖顶瞳,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玖姑,死亡現(xiàn)場離奇詭異,居然都是意外死亡慨菱,警方通過查閱死者的電腦和手機焰络,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來符喝,“玉大人闪彼,你說我怎么就攤上這事⌒牵” “怎么了畏腕?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長茉稠。 經(jīng)常有香客問我描馅,道長,這世上最難降的妖魔是什么而线? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任铭污,我火速辦了婚禮恋日,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嘹狞。我一直安慰自己岂膳,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布磅网。 她就那樣靜靜地躺著谈截,像睡著了一般。 火紅的嫁衣襯著肌膚如雪知市。 梳的紋絲不亂的頭發(fā)上傻盟,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音嫂丙,去河邊找鬼娘赴。 笑死,一個胖子當(dāng)著我的面吹牛跟啤,可吹牛的內(nèi)容都是我干的诽表。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼隅肥,長吁一口氣:“原來是場噩夢啊……” “哼竿奏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起腥放,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤泛啸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后秃症,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體候址,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年种柑,在試婚紗的時候發(fā)現(xiàn)自己被綠了岗仑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡聚请,死狀恐怖荠雕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驶赏,我是刑警寧澤炸卑,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站煤傍,受9級特大地震影響矾兜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜患久,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一椅寺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蒋失,春花似錦返帕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铣卡,卻和暖如春链韭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煮落。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工敞峭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝉仇。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓旋讹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親轿衔。 傳聞我的和親對象是個殘疾皇子沉迹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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