适用于GoogleSignIn / Crashlytics / Firebase的自定义编译器标志

时间:2018-04-03 15:56:33

标签: ios google-signin crashlytics compiler-flags

我正在尝试在我的主项目中解析编译器标志,例如-Wno-auto-import。但我无法为GoogleSignIn / Crashlytics / Firebase pod设置编译器标志。我尝试将以下代码添加到我的Podfile中:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['WARNING_CFLAGS'] = "$(inherited) -Wno-auto-import"
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
    end
  end
end

但我仍然遇到自动导入编译器错误。它适用于facebook signin和所有其他pod。编辑器标志也列在Pods - >下。 GTMOAuth2 - > Apple LLVM 9.0 - 自定义编译器标志 - >其他警告标志 - > -Wno-自动导入

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以通过在pod文件中指定此标记来静音所有 cocoapod警告:

inhibit_all_warnings!

如果您愿意,可以更细化并按照pod指定:

pod 'GoogleSignIn', inhibit_warnings: true
pod 'Crashlytics', inhibit_warnings: true
pod 'Firebase', inhibit_warnings: true

如果您的项目中启用了-Weverything,则此可能不起作用,这通常是不鼓励的,因为它包含有缺陷或仍在开发中的警告。此标志将为您的cocoapod框架提供误报。更多信息请访问:https://softwareengineering.stackexchange.com/questions/122608/clang-warning-flags-for-objective-c-development/124574#124574

如果您仍希望尝试手动编辑警告标志 - 那么您的代码示例看起来很好,请确保它不会被xcconfig文件覆盖

另外请确保您进行了清理,以便以前的版本不会留下任何警告! Xcode可能是一种痛苦,并且比有时需要的时间更长。检查生成的实际构建日志以验证它们是否仍在被提升