我在iOS中集成没有可可豆荚的firebase崩溃报告。我收到了错误。任何人都可以帮我解决这个问题吗?
Firebase崩溃报告:无法传输崩溃:错误域= com.google.FirebaseCrash代码= 1“上传失败”UserInfo = {NSLocalizedDescription =上传失败,NSLocalizedFailureReason = HTTP错误代码400:{URL:https://mobilecrashreporting.googleapis.com/v1/crashes:batchCreate?key=AIzaSyAmAo91FUyOLsvhIbsSo9U4bwoY9pHBDSM&alt=json } {status code:400,headers {“Cache-Control”= private; “Content-Encoding”= gzip; “内容长度”= 123; “Content-Type”=“application / json; charset = UTF-8”;日期=“星期一,2016年6月13日17:01:01 GMT”;服务器= ESF; Vary =“Origin,X-Origin,Referer”; “alt-svc”=“quic = \”:443 \“; ma = 2592000; v = \”34,33,32,31,30,29,28,27,26,25 \“”; “alternate-protocol”=“443:quic”; “x-content-type-options”= nosniff; “x-frame-options”= SAMEORIGIN; “x-xss-protection”=“1; mode = block”; }}
答案 0 :(得分:0)
我遇到了同样的问题,无法弄清楚400错误的原因是什么。得到错误的原因是一种不太痛苦的方法:
安装Charles Proxy(或任何您喜欢的检查请求的方式),转到帮助> SSL代理>在iOS模拟器中安装Charles Root证书。然后让它无法在模拟器中再次发送崩溃报告,并在Charles中查找对mobilecrashreporting.googleapis.com的请求。单击Response以查看实际响应JSON,它应该具有请求失败的原因。
我的BundleVersion值无效,你的可能是其他的:
{
"error": {
"code": 400,
"message": "Invalid iOS internal version: '1A001'.",
"status": "INVALID_ARGUMENT"
}
}
一旦我修复了版本号崩溃报告开始工作。此信息应该在原始故障日志中,因此我将为此发出功能请求。希望这有帮助
答案 1 :(得分:0)
点击设置图标(在“概述”菜单旁边)>单击项目设置 选择“服务帐户”,然后单击“崩溃报告” 等待加载......
之后,再次点击设置图标(在“概述”菜单旁边)>单击权限 从左侧菜单中选择服务帐户 找到“firebase-crashreporting”服务帐户名称>单击右侧的3个点以创建键并选择Json格式。 之后,您将获得下载的“Unknow”文件,然后将其名称更改为“ServiceAccount.json” 将其拖到Xcode项目中。
在Build Phases添加“Run Script”。 放下以下两行: GOOGLE_APP_ID = 1:xxxx5xxxxxxx:ios:xxxxxxxxxxxxxxxx(取自GoogleService-Info.plist) $ {SRCROOT} / Firebase / Crash / upload-sym $ {SRCROOT} /ServiceAccount.json
FYI 无需在$ {SRCROOT}上加“” $ {SRCROOT} / Firebase / Crash / upload-sym>>>>>我将upload-sym放在Firebase / Crash /
下