問題描述
通過 Cocoapods 在接入一個第三方庫,pod install
之后,Xcode 出現了下圖錯誤。
error.png
錯誤描述如下:
ld: 'xxx' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. 'xxx' for architecture arm64
問題原因:
有些三方庫不支持 Bitcode,如果項目中開啟了 Enable Bitcode
,就會出錯。解決方法:要么是換為支持 Bitcode 的庫,要么修改 Xcode 設置。
大多數情況下,換三方庫都不太可能實現。所以一般是修改 Xcode 設置。
解決方法
查閱了一下資料,解決方法一般有兩種。
1. 設置Xcode 的 Enable Bitcode 為 NO
通過 Target -> BuildSettings -> Enable Bitcode
,設置為 NO。
bitcode.jpg
一般情況下,這種解決方法就能解決問題了。
2. 修改 Podfile 文件
方法 1 沒有解決我的問題,甚至重啟電腦后問題依然存在。在 stackoverflow 找到了方法 2 ,解決了我的問題。
在 Podfile 文件中添加:config.build_settings['ENABLE_BITCODE'] = 'NO'
。
比如:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end