Cocoapods 修改Pod 编译选项

公司项目一直使用的是私有Spec 仓库来管理每个业务模块,每个模块单独为一个Pod。但是最近发现个问题,就是即使方法声明了需要有返回值,但是如果不写return 的话,编译竟然也不会报错

屏幕快照

于是查看编译选项

屏幕快照

发现target 的Mismatched Return Type 值是Yes,而如果改成Yes(Treat as Error) 之后,则会正常报错。所以我们需要想方法来修改这个编译选项

Podspec

.podspec 文件描述了一个库是怎样被添加到工程中的。它支持的功能有:列出源文件、framework、编译选项和某个库所需要的依赖等。所以我们只有修改.podspec 就可以了,查了下文档

屏幕快照

  • pod_target_xcconfig 表示pod 本身被依赖时,修改的编译选项

  • user_target_xcconfig 表示修改依赖pod 的项目的编译选项

用编辑器打开项目文件Pods.xcodeproj,查找该编译选项的Key,也可以在这里查看

屏幕快照

发现Key 为GCC_WARN_ABOUT_RETURN_TYPE,值为YES_ERROR'

正解

在.podspec 文件里增加下面这行即可

1
spec.pod_target_xcconfig = {'GCC_WARN_ABOUT_RETURN_TYPE' => 'YES_ERROR'}

参考

深入理解 CocoaPods
Podspec Syntax Reference