在最新的Xcode更新之后,我使用了很多第三方库,其中有很多警告。(例如Facebook SDK pod) 现在所有这些警告都显示在我的Xcode中,在我想看到自己的警告或错误的地方。
有没有办法忽略这些错误?修复它们不会有帮助,因为在每次“pod安装”之后,更改都会被丢弃。
在最新的Xcode更新之后,我使用了很多第三方库,其中有很多警告。(例如Facebook SDK pod) 现在所有这些警告都显示在我的Xcode中,在我想看到自己的警告或错误的地方。
有没有办法忽略这些错误?修复它们不会有帮助,因为在每次“pod安装”之后,更改都会被丢弃。
当前回答
尽管其他答案将删除构建阶段的警告,但它似乎并没有完全修复Analyze阶段(这导致我们的CI构建仍然存在问题)。
对我有用的(除了公认的答案)是:
Click on the Pods project from the Project Navigator Choose the actual Pod- Target and click on Build Settings Filter with the phrase compiler flags Add a new Other C Flags with the value -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core (or whichever analyzers you need disabled) - this answer provides the full list of flags to try -- please upvote it! The version of clang in Xcode 6.3.1, though, doesn't seem to include insecureAPI so you can remove it from that list. The "current" full list is -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix
注意,在Pods项目或Pods目标上设置这个将不起作用。我不知道为什么,但是你必须为每个实际的Pod- target设置它。
你也可以在每个文件的基础上设置编译器标志(-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core等)。
我还尝试了一些其他方法(除了上述方法之外,可能需要也可能不需要)。它们是在Pods项目本身进行的。
[1]
使用短语分析器进行过滤 确保“构建期间分析”设置为NO。 将所有设置更改为NO(包括内存管理不当)
[2]
使用短语警告进行过滤 将“禁止所有警告”更改为“是”
出于某种原因,即使禁用该方案中的Analyze步骤似乎也不起作用。
进入产品>方案>管理方案窗口,从列表中单击每个Pod-*,然后单击编辑按钮。单击左侧列表上的Build,然后取消选中Pod目标右侧的Analyze。
我仍然很困惑,为什么我不能完全禁止对Pods进行分析,尽管我认为这可能与方案构建设置中的“查找隐式依赖项”有关。不过,如果不勾选这一点,似乎还需要发生其他事情才能让应用程序链接到pods。
其他回答
你可以在你的项目工作区的PodBundle的Xcode构建设置中搜索“inhibit_all_warnings”。将值设置为“YES”,它将隐藏所有Pod文件警告。
如果你对你的工作空间这样做,它也会隐藏你所有的项目警告。
添加到您的Podfile:
platform :ios
# ignore all warnings from all pods
inhibit_all_warnings!
# ignore warnings from a specific pod
pod 'FBSDKCoreKit', :inhibit_warnings => true
然后执行:pod install
1 .把下面的脚本放到你的Podfile中。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES"
end
end
end
步骤2。做吊舱安装。
尽管其他答案将删除构建阶段的警告,但它似乎并没有完全修复Analyze阶段(这导致我们的CI构建仍然存在问题)。
对我有用的(除了公认的答案)是:
Click on the Pods project from the Project Navigator Choose the actual Pod- Target and click on Build Settings Filter with the phrase compiler flags Add a new Other C Flags with the value -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core (or whichever analyzers you need disabled) - this answer provides the full list of flags to try -- please upvote it! The version of clang in Xcode 6.3.1, though, doesn't seem to include insecureAPI so you can remove it from that list. The "current" full list is -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix
注意,在Pods项目或Pods目标上设置这个将不起作用。我不知道为什么,但是你必须为每个实际的Pod- target设置它。
你也可以在每个文件的基础上设置编译器标志(-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core等)。
我还尝试了一些其他方法(除了上述方法之外,可能需要也可能不需要)。它们是在Pods项目本身进行的。
[1]
使用短语分析器进行过滤 确保“构建期间分析”设置为NO。 将所有设置更改为NO(包括内存管理不当)
[2]
使用短语警告进行过滤 将“禁止所有警告”更改为“是”
出于某种原因,即使禁用该方案中的Analyze步骤似乎也不起作用。
进入产品>方案>管理方案窗口,从列表中单击每个Pod-*,然后单击编辑按钮。单击左侧列表上的Build,然后取消选中Pod目标右侧的Analyze。
我仍然很困惑,为什么我不能完全禁止对Pods进行分析,尽管我认为这可能与方案构建设置中的“查找隐式依赖项”有关。不过,如果不勾选这一点,似乎还需要发生其他事情才能让应用程序链接到pods。