在最新的Xcode更新之后,我使用了很多第三方库,其中有许多警告。 (例如Facebook SDK pod) 现在所有这些警告都显示在我想要查看自己的警告或错误的地方的Xcode中。
有没有办法忽略这些错误?修复它们无济于事,因为在每次“pod安装”之后,更改都将被丢弃。
答案 0 :(得分:869)
添加到您的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 :(得分:25)
您可以搜索" inhibit_all_warnings"在项目工作空间中的PodBundle的xcode构建设置中,将值设置为" YES"它会隐藏你所有的Pod文件警告。
如果你对你的工作空间这样做,它也会隐藏你的所有项目。
答案 2 :(得分:4)
虽然this other answer将在构建阶段删除警告,但它似乎并未完全修复Analyze
阶段(这导致我们的CI构建仍然存在问题)。
对我有用的(除了接受的答案)是:
Pods
项目Pod-
目标,然后点击Build Settings
compiler flags
添加值为Other C Flags
的新-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
(或您需要禁用的任何分析器) - this answer提供要尝试的完整标记列表 - 请点赞它!
但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-
目标设置它。
您还可以在per-file basis上设置编译器标志(-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
按钮。点击左侧列表中的Build
,然后右侧的取消选中 Analyze
Pod
目标。
我仍然感到困惑的是为什么我不能完全禁用Pods被分析,尽管我希望它可能与在方案的构建设置中选中的“查找隐式依赖项”有关。但是,如果未经检查,则看起来应用程序需要发生其他内容才能链接到广告连播。
答案 3 :(得分:0)
步骤: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。执行pod install
。