我正在尝试为我的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/