Firebase 不是在 M1 模拟器上构建的(无法在范围内找到“Analytics”)

Hou*_*man 6 ios firebase swift firebase-analytics

自从我改用 M1 以来,事实证明在模拟器上运行该应用程序是不可能的。在设备本身上它工作正常。

我收到构建错误:Cannot find 'Analytics' in scope

import Firebase

class AlertService: AlertServiceBase, AlertServiceProtocol {

  func showWarningAlert(dict: NSDictionary) {
     ...
     Analytics.logEvent("blocked_no_more_warning", parameters: nil)
  }
}
Run Code Online (Sandbox Code Playgroud)

我与一位 Apple 工程师交谈,他说将所有 Pods 架构更改为Standard Architectures (arm64, armv7) - $(ARCHS_STANDARD).

它对进一步取得进展有所帮助,但随后在 Firebase 分析问题上失败了。他建议将问题发布到 SO 上。希望以前有人经历过这个。谢谢

小智 10

我仅在物理设备上调试时遇到此问题,模拟器工作正常。

除此之外import Firebase,我还必须import FirebaseAnalytics


Tar*_*agi 3

转到项目(不是目标)

  • 构建设置
  • 排除的架构
  • 调试 -

添加一个名为的新设置

Any iOS Simulator SDK - arm64
Run Code Online (Sandbox Code Playgroud)

如果您正在使用 Pods,您也应该对您的 Pods PROJECT 重复上述操作。

某些 pod 目标(例如您的情况下的 pod KeychainAccess)可能不尊重您在 Pods PROJECT 级别设置的内容,您可能也希望针对违规的 Pod 目标修复完全相同的问题。

或者,您可以将其添加到 podfile 的末尾,而不是一一检查所有 pod 目标 -

post_install do |installer|
  installer.project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

完成此操作后,进行一次pod install干净的构建,您应该可以开始了。