【问题标题】:getting an issue with upgrade to Xcode 10.2升级到 Xcode 10.2 时遇到问题
【发布时间】:2019-03-26 22:55:56
【问题描述】:

升级到最新的 Xcode 后出现一系列错误。

MyApp/Pods/Protobuf/objectivec/google/protobuf/Any.pbobjc.m:17:10: Non-portable path to file '<protobuf/Any.pbobjc.h>'; specified path differs in case from file name on disk

当我查看代码时,我发现路径确实是大写的。

#import <Protobuf/Any.pbobjc.h>

对于如何处理这个问题有什么建议吗?

我的 pod 文件如下所示:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

target 'MyApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp
  pod 'Firebase/Core'
  pod 'Firebase/Storage'
  pod 'Firebase/Database'
  pod 'Firebase/Firestore'
  pod 'Firebase/Auth'
  pod 'Firebase/AdMob'

  # Pods for PodTest
  pod 'Fabric'
  pod 'Crashlytics'


  target 'MyAppTests' do
      inherit! :search_paths
      # Pods for testing
  end

  target 'MyAppUITests' do
      # inherit! :search_paths
      # Pods for testing
  end
end

到目前为止,我已经尝试解构并重新安装所有 pod 文件,但错误仍然存​​在。

【问题讨论】:

    标签: swift xcode firebase


    【解决方案1】:

    这是由于在不区分大小写的文件系统上编译的代码导致的,其中两个文件:

    在源代码文件 Protobuf/objectivec/google/protobuf/Any.pbobjc.m -

    您机器上的目录和文件:

    这两个都指向不敏感文件系统上的同一个文件。也就是说,在将目录 Protobuf 和 protobuf 视为相同的文件系统上。

    但是,如果您将相同的目录结构复制到区分大小写的文件系统,那么源代码将寻找与在不区分大小写的文件系统上实际创建的目录不同的目录。

    这个警告基本上是在提醒你有一个“陷阱”正在等待发生。

    最终的答案是让 protobuf CocoaPod 通过更改其协议缓冲区编译器来修复当前的 17 个警告。

    在此之前,您可以通过将 C++ 编译器选项“-Wno-nonportable-include-path”添加到存在此问题的每个文件或整个项目中来“禁用”此警告。此 C++ 编译器选项位于“其他警告标志”行中的“Apple Clang - 自定义编译器标志”部分。

    【讨论】:

    • 以上是正确的,但请记住编译器标志会进入整个项目工作区中的 Pods 项目,但请注意,每当您执行新的 pod installpod update 时,您可能松开设置。
    【解决方案2】:

    请删除派生数据,

    如果您在工作区环境中,您可以转到文件 > 工作区设置,或者在常规项目环境中转到文件 > 项目设置。然后单击派生数据部分下的灰色小箭头并选择您的项目文件夹以将其删除。

    比重新集成并重新安装所有 pod 文件。

    希望这对你有用!

    【讨论】:

    • 感谢您提供建议。不幸的是,在删除派生数据、解集成和重新安装后,警告会返回
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多