更新:我已经解决了这个问题,我不确定如何。我刚从仪表板中删除了应用程序,重新创建了它们,清理了Fabrics和Crashlytics Cache,经过四五次尝试后,它开始自行运行。我仍然有兴趣知道它是如何发生的,如何在不完全删除应用程序的情况下实际解决。
TL; DR我没有从Answers工具包中收到任何统计数据,看起来Fabric认为Answers没有安装在我的应用程序中,即使它是。我对事件跟踪不感兴趣,我只需要metrics stats。
Fabric 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,它要求我执行全新安装并启用调试模式。
我的pod文件是:
pod 'Fabric'
pod 'Crashlytics'
我在AppDelegate中设置我的Fabric套件,如:
[Fabric with:@[[Crashlytics class]]];
我启用了调试模式,如:
[[Fabric sharedSDK] setDebug: YES];
我甚至记录了登录事件,即使我不需要它,只是为了看它是否开始传输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。
我该如何解决这个问题?
答案 0 :(得分:1)
Mike来自Fabric。是的,Answers包含在Crashlytics中,但是在您在Fabric仪表板上启用它并接受特定于Answers的条款和条件之前,不会收集任何数据。您需要做的是包括Crashlytics,一旦应用程序在您的仪表板中处于活动状态,然后前往仪表板中的任何其他页面并从Web UI启用Answers。
之后,我们等待两分钟,看看是否有任何事件数据。通常,运行干净的应用程序,构建和运行(或卸载并重新安装)将获取发送的数据,然后使仪表板可见。至于为什么它在您的应用程序中没有提前工作,我仍然不清楚,但可能是竞争条件或我们的一个缓存没有正确传播数据。
修改:添加了启用Answers按钮的图片。
答案 1 :(得分:1)
在2018年回答此问题,以防有人碰到它。我需要连接到wifi才能将事件发送到Fabric。它无法通过蜂窝发送,或者我的手机连接不良。立即通过wifi工作。
答案 2 :(得分:0)
我认为你的AppDelegate应该是这样的:
[Fabric with:@[[Crashlytics class], [Answers class]]];
答案 3 :(得分:0)
对于Swift
首先只访问Crashlytics手册和Xcode
我在我的应用上安装它。然后你会收到来自的欢迎邮件 Crashlytics'
我尝试按照说明测试崩溃事件。 https://fabric.io/kits/ios/crashlytics/features
在Fabric的Web UI上,
返回Xcode
转到Fabric Web UI
点击进入网页用户界面的另一页,例如保留,增长等。
Fabric web UI显示术语&条件要求您启用。
从现在开始,Fabric UI仍在显示“等待活动”
您收到来自Fabric的电子邮件,详细信息是“您刚刚启用了Fabric分析”
停止从Xcode调试您的应用
从iPhone或模拟器中删除您的应用
点击从Xcode再次运行您的应用
尝试点击按钮生成的活动。
Fabric UI对话收到了触发事件。
就是这样。成功
这是我奋斗了好几个小时后的全部步骤。希望这会帮助你。