使用Cocoapods时忽略Xcode警告
在最新的Xcode更新之后,我使用了相当多的第三方库,其中有许多警告。 (例如Facebook SDK pod)现在,所有这些警告都显示在我的Xcode上我想看到我自己的警告或错误的地方。
有什么办法可以忽略这些错误吗? 修复它们将无济于事,因为在每次“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
您可以在您的项目工作空间的PodBundle的xcode构build设置中search“inhibit_all_warnings”,将该值设置为“YES”,它将隐藏所有Pod文件警告。
如果你这样做到了你的工作空间,它也会隐藏你的所有项目。
尽pipehttps://stackoverflow.com/a/13209057/9913将在构build阶段删除警告,但似乎并没有完全解决Analyze
阶段(导致我们的CI构build仍然有问题)。
对我而言,除了被接受的答案之外,还有什么工作是:
- 点击Project Navigator中的
Pods
项目 - select实际的
Pod-
Target并点击Build Settings
- 用短语
compiler flags
过滤 -
使用
-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
(或者需要禁用的任何分析器)添加一个新的Other C Flags
– 这个答案提供了完整的标志列表来尝试 – 请注意!Xcode 6.3.1中的
clang
版本似乎没有包含insecureAPI
所以你可以从列表中删除它。 “当前”完整列表是-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-
目标设置它。
您也可以在每个文件的基础上设置编译器标志( -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
等)。
我也尝试了其他一些方法(除了上述之外可能也可能不需要)。 他们在Pods
项目本身上执行。
[1]
- 使用短语
analyzer
过滤 - 确保
Analyze During 'Build'
设置为NO
。 - 将所有设置更改为
NO
(包括Improper Memory Management
)
[2]
- 过滤短语
warnings
- 将
inhibit all warnings
更改为YES
出于某种原因,甚至禁用计划中的 Analyze
步骤似乎也不起作用。
转至Product > Scheme > Manage Schemes
窗口,从列表中单击每个Pod-*
,然后单击Edit
button。 点击左侧列表中的Build
,然后取消选中 Pod
目标右侧的Analyze
。
我仍然困惑,为什么我不能完全禁用分析豆荚,虽然我希望它可能与在scheme的构build设置中选中“查找隐式依赖关系”。 但是,如果没有选中,那么应用程序链接到窗格就会发生其他问题。