为啥我在尝试运行我的 iOS 应用程序时收到错误“找不到 FirebaseCore/FirebaseCore.h”文件

Posted

技术标签:

【中文标题】为啥我在尝试运行我的 iOS 应用程序时收到错误“找不到 FirebaseCore/FirebaseCore.h”文件【英文标题】:Why am I getting the error ''FirebaseCore/FirebaseCore.h' file not found' when trying to run my iOS app为什么我在尝试运行我的 iOS 应用程序时收到错误“找不到 FirebaseCore/FirebaseCore.h”文件 【发布时间】:2021-06-22 14:34:48 【问题描述】:

我最近开始使用带有 M1 芯片的 MacBook Pro,而旧款 MacBook Pro 的 M1 芯片在运行这个应用程序时没有问题。现在,当我尝试构建和运行我的应用程序时,我遇到了以下问题:

'FirebaseCore/FirebaseCore.h' file not found

Could not build Objective-C module 'Firebase'

我尝试过的:

清理我的构建文件夹 删除派生数据 重新启动我的电脑 正在运行pod install --repo-update 当我将 Scheme 更改为 FirebaseCore 时,该错误确实消失了,但是我无法在模拟器上运行该应用程序。

这是我的 pod 文件:

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

post_install do |pi|
    pi.pods_project.targets.each do |t|
      t.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
      end
    end
end

target 'Pikit' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Firebase
  pod 'Firebase'
  pod 'Firebase/Storage'
  pod 'Firebase/Auth'
  pod 'Firebase/Firestore'
  pod 'Firebase/Functions'
  pod 'Firebase/Analytics'
  pod 'Firebase/Messaging'
  pod 'Firebase/DynamicLinks'
  pod 'FirebaseUI/Auth'
  pod 'FirebaseUI/Email'
  pod 'FirebaseUI/Google'
  pod 'FirebaseUI/Facebook'
  pod 'FirebaseUI/OAuth' # Used for Sign in with Apple, Twitter, etc
  pod 'FirebaseUI/Phone'

  
  # Other Podfiles
  pod 'OnboardKit'
  pod 'SDWebImage'
  pod 'PureLayout'
  pod 'IQKeyboardManagerSwift'
  pod 'Google-Mobile-Ads-SDK'


  
end

【问题讨论】:

***.com/questions/52077002/… 的重复? 链接的问题涉及新创建的 pod 文件,我相信我的问题源于新的 Apple M1 芯片。我已经能够在其他操作系统上运行这个项目而没有问题。这个问题的选定答案也是从 xcode 8 更新到 xcode 9,而我正在使用 xcode 12 @PaulBeusterien 为什么不直接查明您的项目是否包含名为 FirebaseCore.h 的文件? 如果你使用 Rosetta 运行 Xcode 会发生什么? (在 Finder 中找到 Xcode.app 转到 Get Info 并选择 Open using Rosetta)。在尝试运行/构建之前,您需要执行Clean Build Folder。我创建了一个具有相同 podfile 的项目,并且在没有 Rosetta 的情况下使用 Xcode 时它不会运行(但与您的帖子的错误不同),但因为 GoogleSignIn SDK doesn't support M1 yet 和 FirebaseUI/Google pod 依赖于此。 告诉我们安装了哪个版本的可可豆荚(pod --version)以及您拥有的 Firebase 版本会对我们有所帮助。解散 pod,然后重新执行此操作可能会有所帮助,但让我们先看看版本。 【参考方案1】:

如果有人仍然面临问题, 如果您已经清理了构建文件夹,请删除派生数据,删除 pod.lock 和 pods 文件夹,我建议您打开终端并

插入: pod deintegrate && pod install

差异是由 deintegrate 调用引起的,它将删除构建阶段以及框架文件夹。

还要考虑: 使用 M1 芯片 MacBook,在为模拟器而不是真实设备/macbook 构建项目时,我也遇到了上述错误

【讨论】:

【参考方案2】:

“仅构建活动架构”在其中发挥了作用。尝试更改此设置,看看是否有帮助。

【讨论】:

【参考方案3】:

使用 pod update 来更新 Pod 使用 Cmd+sht+k 清理项目并开始构建

【讨论】:

正如我的问题中所述,我已经尝试过了 尝试卸载并重新安装应用程序 我们尝试安装指定版本号的pod【参考方案4】:

在 podfile 的末尾添加了这个。

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
end

【讨论】:

【参考方案5】:

在我的情况下,我正在运行 .xcodeproj 文件,因此我的 Pod 没有同时运行。使用 .xcworkspace 文件加载项目和 Pod。

作为旁注,如果上述方法不起作用并且您是使用 Cordova 和 FirebaseX 的人,那么我用来解决问题的版本是 FirebaseX 8.0.1 和 Cordova IOS 5.0.1*支持>

*(暂时很快就会弃用)

【讨论】:

以上是关于为啥我在尝试运行我的 iOS 应用程序时收到错误“找不到 FirebaseCore/FirebaseCore.h”文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在运行动态 Web 项目时收到 HTTP 404 错误? [复制]

为啥我在启动我的 iPhone OS 应用程序时会收到“安全策略错误”?

为啥我在运行查询时收到错误 -4700(尝试使用新功能模式)?

为啥我在尝试在 iOS Swift 中向服务器发出 post 请求时收到此错误:在展开 Optional 值时意外发现 nil?

为啥我在 iOS 设备上尝试读取已发送到我的应用程序的文件时,在 OpenUrl 函数中出现权限错误?

为啥我在运行 Locust 时收到 403 错误?