【发布时间】:2020-09-17 23:24:32
【问题描述】:
使用 Xcode 12 有一个新的默认警告,它会在您 #import 或 #include 使用 "quotes.h" 而不是 <brackets.h> 的任何位置抛出警告。
警告:“框架标头中包含双引号”
如何为整个项目关闭此警告?
【问题讨论】:
标签: objective-c swift xcode ios14 xcode12
使用 Xcode 12 有一个新的默认警告,它会在您 #import 或 #include 使用 "quotes.h" 而不是 <brackets.h> 的任何位置抛出警告。
警告:“框架标头中包含双引号”
如何为整个项目关闭此警告?
【问题讨论】:
标签: objective-c swift xcode ios14 xcode12
【讨论】:
pod install 在 pod 内,project update 都会建议更新。
您可以通过导航到项目的“构建设置”,找到“其他链接器标志”字段并添加以下标志来禁用整个项目的这些警告:
-Wno-quoted-include-in-framework-header
【讨论】:
-Waaa-bbb-ccc 格式的警告,您可以将任何警告更改为-Wno-aaa-bbb-ccc 并添加为链接器标志以抑制项目范围。
-Wno- 开头的那个;有时使用链接器标志我必须退出 xCode 并重新启动它们才能生效,但大多数时候它可以在下一个版本中工作。
看起来这个issue 是作为Cocoapods 的一部分修复的1.10.1(在撰写本文时尚未正式发布)。不过,在 1.10.1 正式可用之前,您可以暂时使用 Cocoapods 版本 1.10.0.rc.1。
gem install cocoapods -v '1.10.0.rc.1'
另一种选择是更新您的 Podfile(添加以下代码)以禁用项目中所有 pod 的警告标志 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER 设置。
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER'] = 'NO'
end
end
end
end
【讨论】: