3

我有一个带有网络扩展的 iOS 应用程序,我正在尝试在两者上安装 Firebase/Crashlytics:

  • 主机应用程序 ( com.mycompany.appname )
  • NEDNSProxyProvider 网络扩展 ( com.mycompany.appname.dnsproxy )

我已经在 Cocoapods 的两个 targhet 上安装了 Firebase,并且我成功地在主机应用程序上配置了 crashlytics,触发了崩溃并在 firebase 仪表板中看到了崩溃。

然后我尝试先使用以下步骤在网络扩展中启用 crashlytics:

来自How to use Crashlytics with iOS / OS X today view extensions?

  1. 从主机应用程序复制GoogleService-Info.plist到网络扩展
  2. 将运行脚本添加到网络扩展 targhet 在此处输入图像描述
  3. override func startProxy(options: [String: Any]? = nil, completionHandler: @escaping (Error?) -> Void) {在我添加的 NEDNSProxyProvider 子类方法中:
FirebaseApp.configure()
Crashlytics.sharedInstance().crash()

显然,扩展程序崩溃了,但没有报告发送到 Firebase 仪表板。

在控制台中我可以看到:

5.16.0 - [Firebase/Core][I-COR000008] The project's Bundle ID is inconsistent with either the Bundle ID in 'GoogleService-Info.plist', or the Bundle ID in the options if you are using a customized options. To ensure that everything can be configured correctly, you may need to make the Bundle IDs consistent. To continue with this plist file, you may change your app's bundle identifier to 'com.mimecast.SecurityAgent'. Or you can download a new configuration file that matches your bundle identifier from https://console.firebase.google.com/ and replace the current one.

这是有道理的,目标具有不同的 bundleID。

因此,我在 Firebase 项目中使用正确的捆绑 ID com.mycompany.appname.dnsproxy创建了另一个应用程序,我下载了新的GoogleService-Info.plist,运行应用程序并遵循初始应用程序设置,但显然网络扩展从未调用 firebase后端,没有记录引起的崩溃,我什至无法完成初始设置,我被困在这Checking if the app has communicated with our servers. You may need to uninstall and reinstall your app.一步。

任何想法?我在控制台中看不到任何奇怪的 Firebase 日志或错误。

4

1 回答 1

0

根据开发文档,将 crashlytics 和 firebase 域添加到 matchDomainsNoSearch 属性。

于 2020-04-16T05:31:27.743 回答