ios - GoogleSignIn/Crashlytics/Firebase 的自定义编译器标志

标签 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 登录和所有其他 pod。编译器标志也列在 Pods -> GTMOAuth2 -> Apple LLVM 9.0 - Custom Compiler Flags -> Other Warning Flags -> -Wno-auto-import

我该如何解决这个问题?

最佳答案

您可以通过在您的 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 可能会很痛苦,有时会让它们停留的时间比需要的时间更长。检查生成的实际构建日志以验证它们是否仍在被引发

关于ios - GoogleSignIn/Crashlytics/Firebase 的自定义编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49634369/

相关文章:

ios - -[UITableView reloadData] 仅在滚动后显示变化

ios - 支持的方向与应用程序没有共同的方向,并且 [GADFullScreenAdViewController shouldAutorotate] 返回 YES

android - java.lang.IllegalStateException : SharedPreferences in credential encrypted storage are not available until after user is unlocked

android - 当我在 android 中按下返回时,为什么不退出应用程序?

android - 谷歌登录不适用于生产

firebase - 在 Android 上构建 Flutter 应用程序时如何修复 'Dependency failing'

android - io.fabric.tools 没有缓存版本列表 :gradle:1. + 可用于离线模式

ios - 使用 ARC 加载许多 .jpg 文件时收到内存警告和崩溃

ios 7自定义转换不适用于导航 Controller

ios - 是否使用 Core Data?