问题概述
更新:我想我已经成功解决了问题,但我不确定是怎么做的。我只是从我的控制面板中删除了应用程序,重新创建了它们,清除了 Fabrics 和 Crashlytics 缓存,并在尝试了四五次后,它自己开始工作了。我仍然想知道它是如何发生的,以及如何在不完全删除应用程序的情况下解决它。
简而言之,我无法从 Answers kit 接收任何统计信息,而且 Fabric 似乎认为 Answers 没有安装在我的应用程序中,尽管它已经安装了。我对事件跟踪不感兴趣,我只需要指标统计数据。
问题说明
Fabric Crashlytics kit 与 Answers 捆绑在一起,对于我的大多数应用程序,每当我设置 Crashlytics 时,Answers 也会被设置,并且我可以在 Fabric 仪表板上看到统计数据。
然而,对于我其中的几个应用程序,我无法看到统计数据,似乎 Answers 被禁用了。仪表板上说,要查看统计数据需要安装 Answers。
但是当我查看我的 Fabric Mac 客户端时,它表示对于这个应用程序,Answers kit 已经被安装和启用。
因此,让我们回到应用程序的 Web 仪表板上,除 Crashlytics 外所有的统计选项都被禁用,而且该应用程序本身也有点灰暗,不像其他应用程序那样。
详细地说,它首先等待“事件”,并建议我应该重新安装应用程序(我已经这样做了很多次)。
一段时间后,它说没有接收到任何事件,并要求我执行一个新安装并启用调试模式。
我的配置
我的 Pod 文件如下:
pod 'Fabric'
pod 'Crashlytics'
我正在AppDelegate中设置我的Fabric kit,代码如下:
[Fabric with:@[[Crashlytics class]]];
我已启用调试模式,方法如下:
[[Fabric sharedSDK] setDebug: YES];
我现在所做的事情
- 确保已安装Answers。
- 启用调试模式。 Fabric说它可以告诉我是否已启用Answers并发送事件,但我还没有看到任何相关日志。我收到的唯一三个日志是版本号和设置已下载并可供使用的通知。
- 进行新的安装。
- 检查调试模式的日志,确认Fabric的设置已下载并准备好供使用。
- 添加Fastlane Kit以创建构建交付,以查看我的应用程序与Fabric之间是否存在通信问题。构建正确显示并正确上传,但仍然没有Answers。
我甚至记录了登录事件,尽管我不需要它,只是为了看看它是否开始传输Answers数据。
[Answers logLoginWithMethod:@"Email"
success:@YES
customAttributes:@{}];
当应用程序运行时,还有这个有趣的日志:
[FileManager] Failed to remove file '/var/mobile/Containers/Data/Application/F055EE71-5064-4105-B41D-BD098F28DAA9/Library/Caches/com.crashlytics.data/com.sampleapp.mysampleapp/v3/launchmarker' : Error Domain=NSCocoaErrorDomain Code=4 "“launchmarker” couldn’t be removed." UserInfo={NSUnderlyingError=0x14e6a830 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}, NSFilePath=/var/mobile/Containers/Data/Application/F055EE71-5064-4105-B41D-BD098F28DAA9/Library/Caches/com.crashlytics.data/com.sampleapp.mysampleapp/v3/launchmarker, NSUserStringVariant=(
Remove
)}
每次我在重置模拟器后尝试进行新安装时,它都会弹出。此外,请检查缓存中的Fabrics数据中的设置JSON。这里有一些有趣的细节:
"features": {
"collect_logged_exceptions": true,
"collect_reports": false,
"collect_analytics": false,
"prompt_enabled": false,
"push_enabled": true
}
完整的JSON可以在这里查看。
我该如何修复这个问题?
hockeyapp
。 - scorpiozj