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

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

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

屏幕快照 2017-03-17 下午3.24.39.png
pod_target_xcconfig表示pod 本身被依賴時(shí),修改的編譯選項(xiàng)user_target_xcconfig表示修改依賴pod 的項(xiàng)目的編譯選項(xiàng)
用編輯器打開(kāi)項(xiàng)目文件Pods.xcodeproj,查找該編譯選項(xiàng)的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'}
參考