Xcode工程中缺少i386或者x86_64第三方庫無法link工程時,可以這麼做
- 建立一個靜態庫工程(framework或static library),類型需要和第三方庫一致,比如第三方庫是xxx.framework形式則需要創建framework類型,如果第三方庫是xxx.a形式則需要創建static library類型
- 在新工程中創建你的App中使用到的類和相應方法,其中方法的實現用空方法即可(防Crash),如果有使用到extern的外部變量,則需要在新工程的實現文件中初始化。
- 修改編譯配置項,以缺少i386-framework類型庫爲例:
【Build Settings】
中【Mach-O Type】
類型選中Static Library
,【Build Active Architecture Only】
設爲YES
,【Valid Architectures】
使用默認設置爲[arm64 armv7 armv7s]
,編譯時選擇模擬器iPhone5
(因爲i386是32位,已知iPhone5及其以下爲32設備)。 - build工程,build成功後在Product目錄選擇xxx.framework或xxx.a,右鍵在finder中打開,將該xxx.framework或xxx.a和你App工程中的xxx.framework或xxx.a進行合併,採用命令
lipo -create xxx1 xxx2 -output xxx
即可,特別注意framework合併時用的是xxx.framework下的xxx文件進行。