在iOS NEDNSProxyProvider网络扩展上安装Firebase / Crashlytics

时间:2019-02-01 14:48:57

标签: ios firebase crashlytics networkextension nednsproxyprovider

我有一个带有网络扩展程序的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中 enter image description here
  3. 在NEDNSProxyProvider子类方法override func startProxy(options: [String: Any]? = nil, completionHandler: @escaping (Error?) -> Void) {中,我添加了:
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日志或错误。

1 个答案:

答案 0 :(得分:0)

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