公司項目一直使用的是私有Spec 倉庫來管理每個業(yè)務(wù)模塊,每個模塊單獨為一個Pod。但是最近發(fā)現(xiàn)個問題,就是即使方法聲明了需要有返回值,但是如果不寫return 的話,編譯竟然也不會報錯

屏幕快照 2017-03-17 下午3.15.04.png
于是查看編譯選項

屏幕快照 2017-03-17 下午4.01.32.png
發(fā)現(xiàn)target 的Mismatched Return Type 值是Yes,而如果改成Yes(Treat as Error) 之后,則會正常報錯。所以我們需要想方法來修改這個編譯選項
Podspec
.podspec 文件描述了一個庫是怎樣被添加到工程中的。它支持的功能有:列出源文件、framework、編譯選項和某個庫所需要的依賴等。所以我們只有修改.podspec 就可以了,查了下文檔

屏幕快照 2017-03-17 下午3.24.39.png
pod_target_xcconfig表示pod 本身被依賴時,修改的編譯選項user_target_xcconfig表示修改依賴pod 的項目的編譯選項
用編輯器打開項目文件Pods.xcodeproj,查找該編譯選項的Key,也可以在這里查看

屏幕快照 2017-03-17 下午3.27.40.png
發(fā)現(xiàn)Key 為GCC_WARN_ABOUT_RETURN_TYPE,值為YES_ERROR'
正解
在.podspec 文件里增加下面這行即可
spec.pod_target_xcconfig = {'GCC_WARN_ABOUT_RETURN_TYPE' => 'YES_ERROR'}
參考