CocoaPods 很方便,不過它有個設定我實在搞不懂,就是預設會把 Pods
project 的 Build Settings > Build Active Architecture Only 在 Debug
模式下設為 YES
,導致每次執行完 pod install
之後就會發生編譯錯誤,要手動把這個選項刪掉(回復預設值 NO
)或直接改成 NO
才行。
本來這種事其實也沒什麼,反正不是天天跑 pod install
,但是久了還是很煩。找了一下網路,一般的解法是利用 post_install
這個 method,在裡面把每個 target 的 Build Active Architecture Only
設為 NO
。
在 Podfile
中加入下面這段:(Ref: http://samwize.com/2014/05/15/resolving-cocoapods-build-error-due-to-targets-building-for-only-active-architecture/)
# Append to your Podfile
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
不過這段是把 project 下的每個 target 中的 Build Active Architecture Only
設為 NO
,事實上只要改 project 的設定,把 CocoaPods 自己加進去的 Build Active Architecture Only = YES
拿掉就可以了,所以修改如下:
# Append to your Podfile
post_install do |installer_representation|
installer_representation.pods_project.build_configurations.each do |configuration|
configuration.build_settings.delete 'ONLY_ACTIVE_ARCH'
end
end