iOS Fabric Crashlytics Answers Kit不收集数据

问题描述 投票:4回答:4

Problem Summary

更新:我已经解决了这个问题,我不确定如何。我刚从仪表板中删除了应用程序,重新创建了它们,清理了Fabrics和Crashlytics Cache,经过四五次尝试后,它开始自行运行。我仍然有兴趣知道它是如何发生的,如何在不完全删除应用程序的情况下实际解决它。

TL; DR我没有从Answers工具包中收到任何统计数据,看起来Fabric认为Answers没有安装在我的应用程序中,即使它是。我对事件跟踪不感兴趣,我只需要metrics stats

Problem Explained

织物Crashlytics套件来自bundled together with Answers,对于我的大多数应用程序,每当我设置Crashlytics时,Answers也会设置,我可以在Fabric Dashboard上看到统计信息。

但是对于我的几个应用程序,我看不到统计数据,似乎Answers已被禁用。仪表板上显示查看统计数据,Answers is required

但当我看到我的Fabric Mac客户端时,它说对于这个应用程序,Answers kit is installed and enabled

因此,让我们回到应用程序的网页仪表板,all the options for stats are disabled except Crashlytics和应用程序本身有点灰色,不像其他应用程序。

并且详细介绍它首先keeps waiting for "Events"并建议我应该重新安装App(我现在做了很多次)。

过了一会儿,it says no events were received和它要求我执行全新安装并启用调试模式。

My Configuration

我的pod文件是:

pod 'Fabric'
pod 'Crashlytics'

我在AppDelegate中设置我的Fabric套件,如:

[Fabric with:@[[Crashlytics class]]];

我启用了调试模块,如:

[[Fabric sharedSDK] setDebug: YES];

What I have done so far

  1. 确保已安装Answers。
  2. 启用调试模式。 Fabric says它可以告诉我,如果启用了Answers并发送事件,但我还没有看到任何关于它的日志。我收到的唯一三个日志是版本号和已下载设置并可供使用的通知。
  3. 制作新装置
  4. 检查调试模式的日志,确认已下载Fabric的设置并准备好使用。
  5. 添加了Fastlane Kit来创建构建交付,以查看我的App和Fabric之间的通信是否存在问题。构建正确显示并正在正确上载,但再次,没有答案。

我甚至记录了登录事件,即使我不需要它,只是为了看它是否开始传输Answers数据。

[Answers logLoginWithMethod:@"Email"
                        success:@YES
               customAttributes:@{}];

App运行时还有这个有趣的日志:

[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
)}

重置模拟器后,每当我尝试全新安装时,它都会弹出。另外,检查Cache中Fabrics Data中的设置json。好奇的一点:

"features": {
    "collect_logged_exceptions": true,
    "collect_reports": false,
    "collect_analytics": false,
    "prompt_enabled": false,
    "push_enabled": true
  }

完整的JSON可以看到here

我怎样才能解决这个问题?

ios objective-c crashlytics
4个回答
1
投票

来自Fabric的Mike来自这里。是的,Answers包含在Crashlytics中,但是在您在Fabric仪表板上启用它并接受特定于Answers的条款和条件之前,不会收集任何数据。您需要做的是包括Crashlytics,一旦应用程序在您的仪表板中处于活动状态,然后前往仪表板中的任何其他页面并从Web UI启用Answers。

之后,我们等待两分钟,看看是否有任何事件数据。通常,运行干净的应用程序,构建和运行(或卸载并重新安装)将获取发送的数据,然后使仪表板可见。至于为什么它在您的应用程序中没有提前工作,我仍然不清楚,但可能是竞争条件或我们的一个缓存没有正确传播数据。

编辑:添加了启用Answers按钮的图片。

enter image description here


1
投票

在2018年回答这个问题,以防有人遇到它。我需要连接到wifi才能将事件发送到Fabric。它不会通过手机发送或我的手机连接不良。立即通过wifi工作。


0
投票

我认为您的AppDelegate应该如下所示:

[Fabric with:@[[Crashlytics class], [Answers class]]];

0
投票

对于斯威夫特

首先只涉及Crashlytics手册和Xcode

  1. 我在我的应用程序上安装它。然后你会得到'来自Crashlytics的欢迎电子邮件'
  2. 我尝试按照说明测试崩溃事件。 https://fabric.io/kits/ios/crashlytics/features

在Fabric的Web UI上,

  1. 我看到了生成的崩溃事件。

回到Xcode

  1. 停止调试,我尝试删除使应用程序崩溃的代码行,并从https://fabric.io/kits/ios/answers/features(仅更改一行代码)然后再次运行,然后再次运行,我尝试单击以运行事件

转到Fabric Web UI

  1. 点击进入网页用户界面的另一页,例如保留,增长等
  2. Fabric Web UI显示您要启用的术语和条件请求。

从现在开始,Fabric UI仍在显示“等待活动”

  1. 您收到来自Fabric的电子邮件,详细信息是“您刚刚启用了Fabric分析”
  2. 停止从Xcode调试您的应用程序
  3. 从iPhone或模拟器中删除您的应用程序
  4. 单击从Xcode再次运行您的应用程序
  5. 尝试单击按钮生成的事件。
  6. Fabric UI对话收到了触发事件。
  7. 而已。成功

这是我奋斗了好几个小时后的全部步骤。希望这会帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.