我正在尝试为我的iOS应用构建良好的体系结构,而我的xcconfig配置遇到问题。我有几个CocoaPods,它们中包含警告是很自然的。我一直在CocoaPods集成之上使用inhibit_all_warnings!指令使这些沉默。所以我的Podfile看起来像这样:

platform :ios, '7.0'

inhibit_all_warnings!

source 'https://github.com/CocoaPods/Specs.git'

pod 'AFNetworking', '~> 2.x'
...

这实际上有效,使用此配置构建项目时不显示警告。

但是我在构建应用程序时试图强制使用非常严格的环境,因此我创建了几个.xcconfig文件,这些文件会在警告中强制执行错误并启用几乎所有可能的警告。这是xcconfig文件中实际执行此操作的部分:
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
WARNING_CFLAGS = -Weverything -Wno-objc-missing-property-synthesis -Wno-unused-macros;

这两行都正常工作,但是出现的问题是CocoaPod库的警告也被视为错误。禁用GCC_TREAT_WARNINGS_AS_ERRORS将使项目再次编译,但CocoaPods发出警告。

所以我的问题是:

我如何正确设置.xcconfig文件,以使WARNING_CFLAGS仅用于项目文件,而不用于库文件?

如何制作hibit_all_warnings!当设置了WARNING_CFLAGS配置变量时,pod指令可以工作,因为在这种情况下似乎忽略了它?

感谢所有帮助!

最佳答案

警告的“泄漏”可能源于您在构建环境中使用-Weverything标志。直到今天我偶然发现有关相关问题的this回答时,我都使用了类似的问题并遇到了相同的问题。

长话短说:lang开发人员在撰写本文时强烈建议不要使用-Weverything,因为它甚至包含有错误或仍在开发中的警告。如果需要更严格的构建环境,则首选使用-Wall,-Wextra和可选的-Wconversion。然后,可可足将正确响应并从吊舱中隐藏警告。

关于ios - 带xcconfig链接器标志的CocoaPods警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26487093/

10-13 06:33
查看更多