GoogleDataTransport 在 iOS14 上抛出双引号包含在框架标题中预期的尖括号错误

Cha*_*lha 69 cocoapods swift ios14

我刚刚将 XCode 更新到版本 12,并且我正在使用 Firebase。我也更新了 pod,但是当我构建项目时,它给了我错误:

Double-quoted include "pb.h" in framework header, expected angle-bracketed instead
Run Code Online (Sandbox Code Playgroud)

这些错误是多个并且在 pod 中 GoogleDataTransport

在此处输入图片说明

即使我""<>它替换它仍然不会消失。

Phi*_*obs 67

Apparently installing cocoapods version 1.10.0 fixes it all. 
If that doesn't work for you, please continue reading. 
There's lots of temp fixes that'll definitely work for you. 
Here's the command to uninstall and reinstall that 1.10.1 version:
Run Code Online (Sandbox Code Playgroud)

gem uninstall cocoapods; gem install cocoapods -v '1.10.1'

只有在上述内容不适合您时才继续阅读。

如果您是经验丰富的 Xcode 用户,只需查看下图,您就会确切地知道该怎么做,否则请按照详细步骤操作。

如果更新cocoapods对你不起作用,试试这个……这对我有用。

请注意这是一种解决方法。一旦cocoapods修复这在将来的版本,请更新的CocoaPods而不是做的解决方法。

@iHS有一个很好的临时 cocoapods 修复

@haley-huynh有一个很棒的cocoapods 更新示例

@bogdan-razvan说跑步sudo gem install cocoapods为他解决了问题......如果还没有的话,也许试一试

在此解决方法之前,所有这些都值得一试。

话虽如此,我们并不总是有时间等待修复版本......所以打开 Xcode,让我们开始解决方法。

第1步: Navigate

  • 在您的导航器(左侧的项目文件)中,单击Pods (它旁边通常有这个蓝色的 xcode 文件)。单击它后,它应该会打开右侧的 Pod 目标和设置。

第2步: Build Settings

  • 选择Build Settings并确保All从三个构建设置过滤器类型(BasicCustomizedAll)中选择

第 3 步: Search

  • 在构建设置中,搜索quoted include.
  • 您现在应该看到设置 Quoted Include In Framework Header

第四步: Set to No

  • 将设置值更改Quoted Include In Framework HeaderNo

第四步: Rebuild

  • 重建你的性感项目!

第 5 步: Don't be fooled

  • 重建项目后。如果您仍然看到错误,请务必检查这些错误是什么,因为它肯定不是引用错误。

他是一些视觉刺激的图片: 修复步骤的可视化表示

  • 太感谢了!希望我早点发现这个! (3认同)
  • 不,当我修复跨平台代码时,问题就消失了,我的意思是在 flutter sdk 中,xcode 对我来说是新的 (2认同)
  • 谢谢哥们,你让我免于头痛和睡眠不足:) (2认同)
  • @PhillipJacobs 谢谢!也解决了我的问题。知道如何将其永久设置为“否”吗?每次我更新 Pod 时,此设置都会回退为“是”并失败。 (2认同)

iHS*_*iHS 17

看起来这个问题是作为 Cocoapods 的一部分修复的1.10.1(在撰写本文时尚未正式发布)。但是,您可以1.10.0.rc.1暂时使用 Cocoapods 版本,直到 1.10.1 正式可用。

gem install cocoapods -v '1.10.0.rc.1'
Run Code Online (Sandbox Code Playgroud)

替代方案

另一种选择是更新您的 Podfile(添加以下代码)以禁用CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER项目中所有 Pod的警告标志设置。

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
Run Code Online (Sandbox Code Playgroud)


Hal*_*ynh 9

rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/CocoaPods/
pod deintegrate
pod update
Run Code Online (Sandbox Code Playgroud)


Luc*_*ini 4

我通过将 CocoaPods 更新到最新的稳定版本(1.9.3)来解决,运行sudo gem install cocoapods.

之后,我更新了所有 pod,并将pod updatePodfile 中的 swift 版本更新为最新可用版本

config.build_settings['SWIFT_VERSION'] = '5.3'

我检查了 Pod 的项目选项卡和 GoogleDataTranport 的目标标签图像中的 Clang 警告已关闭。如https://github.com/firebase/firebase-ios-sdk/issues/5987中所述。

最后我清除了构建文件夹CMD+Shift+K并重新运行了项目CMD+R