提问人:KrauseFx 提问时间:11/3/2012 更新时间:7/12/2021 访问量:93179
使用 Cocoapods 时忽略 Xcode 警告
Ignore Xcode warnings when using Cocoapods
问:
在最新的 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
评论
pod install
Analyze
您可以在项目工作区中 PodBundle 的 Xcode 构建设置中搜索“inhibit_all_warnings”。将该值设置为“YES”,它将隐藏所有 Pod 文件警告。
如果你对你的工作区这样做,它也会隐藏你的所有项目警告。
评论
pod install
Swift Compiler - Warnings Policies
Suppress Warnings
Yes
inhibit_all_warnings
'characters' is deprecated: Please use String or Substring directly
尽管这个另一个答案将在构建阶段删除警告,但它似乎并没有完全修复该阶段(这导致我们的 CI 构建仍然存在问题)。Analyze
对我有用的(除了公认的答案之外)是:
单击项目导航器中的项目
Pods
选择实际目标,然后单击
Pod-
Build Settings
使用短语进行筛选
compiler flags
添加一个新的值(或您需要禁用的任何分析器) - 此答案提供了要尝试的完整标志列表 - 请为它投赞成票!
Other C Flags
-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
但是,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
出于某种原因,即使禁用方案中的“分析
”步骤似乎也不起作用。
转到 Product > Scheme > Manage Schemes
窗口,单击列表中的每个 Pod-*
,然后单击 Edit
按钮。单击左侧列表中的 Build
,然后取消选中 Pod
目标右侧的 Analyze
。
我仍然对为什么我不能完全禁用 Pod 的分析感到困惑,尽管我希望这可能与方案构建设置中选中的“查找隐式依赖项”有关。但是,如果未选中该选项,则应用程序似乎需要发生其他操作才能链接到 pod。
评论
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步。做。pod install
评论
config.build_settings['SWIFT_SUPPRESS_WARNINGS'] = "YES"
评论