目錄
- 出現(xiàn)的問題
- 解決方法
- 延伸
1. 出現(xiàn)的問題
由于公司是組件化開發(fā),每個組件都是以 CocoaPod 的形式來依賴的视卢,所以每次開發(fā)完成都要進行 pod 的本地校驗,這次整合了一個靜態(tài)庫,但是在校驗的時候無法通過,原因如下:
Undefined symbols for architecture i386:
"_sp_font_create_base_font", referenced from:
_KGPDFPDFAddWaterMarkToPage in libiAppPDF.a(KGPDFPage.o)
_KGPDFPDFAddWaterMarkToDocument in libiAppPDF.a(KGPDFPage.o)
(此處省略一大堆報錯)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
但是通過 lipo -info
命令發(fā)現(xiàn)其實該 SDK 是支持 i386 架構的,因此陷入困境鸳慈。
2. 解決方法
我通過在 podspec 里面設置來繞過 i386
模擬器架構的編譯饱溢。在 podspec 文件內(nèi)加入以下代碼:
s.pod_target_xcconfig = { 'VALID_ARCHS' => 'arm64 armv7 armv7s x86_64' }