Firebase 崩溃报告上传错误
Posted
技术标签:
【中文标题】Firebase 崩溃报告上传错误【英文标题】:Firebase crash report uploading error 【发布时间】:2016-06-13 17:18:09 【问题描述】:我正在 ios 中集成不带可可豆荚的 firebase 崩溃报告。我收到错误消息。谁能帮我解决这个问题?
Firebase 崩溃报告:无法传输崩溃:错误 Domain=com.google.FirebaseCrash Code=1 “上传失败” UserInfo=NSLocalizedDescription=上传失败,NSLocalizedFailureReason=HTTP 错误代码 400: URL:https://mobilecrashreporting.googleapis.com/v1/crashes:batchCreate?key=AIzaSyAmAo91FUyOLsvhIbsSo9U4bwoY9pHBDSM&alt=json 状态码:400,标头“缓存控制”=私有; “内容编码”= gzip; “内容长度”= 123; “内容类型”=“应用程序/json;字符集=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\""; “替代协议”=“443:quic”; “x 内容类型选项”= nosniff; “x-frame-options”=同源; “x-xss-保护”=“1;模式=块”;
【问题讨论】:
【参考方案1】:我遇到了同样的问题,但无法弄清楚 400 错误的原因是什么。这是获取错误原因的一种不太痛苦的方法:
安装 Charles Proxy(或任何您喜欢的检查请求的方式),转到 Help>SSL Proxying>Install Charles Root Certificate in iOS Simulators。然后让它在模拟器中再次发送崩溃报告失败,并在 Charles 中寻找 mobilecrashreporting.googleapis.com 的请求。点击 Response 查看实际的响应 JSON,应该是请求失败的原因。
我的是一个无效的 BundleVersion 值,你的可能是别的东西:
"error":
"code": 400,
"message": "Invalid iOS internal version: '1A001'.",
"status": "INVALID_ARGUMENT"
一旦我修复了版本号,崩溃报告就开始工作了。此信息应该确实在原始故障日志中,因此我将为此提出功能请求。希望这会有所帮助
【讨论】:
【参考方案2】:单击设置图标(在概览菜单旁边)> 单击项目设置 选择服务帐户,然后单击崩溃报告 等待加载……
之后,再次点击设置图标(在概览菜单旁边)> 点击权限 从左侧菜单中选择服务帐户 找到“firebase-crashreporting”服务帐户名称 > 点击右侧的 3 个点创建密钥并选择 Json 格式。 之后,您将获得下载的“Unknow”文件,然后将其名称更改为“ServiceAccount.json” 将其拖到 Xcode 项目中。
在构建阶段添加“运行脚本”。 放入以下 2 行: GOOGLE_APP_ID=1:xxxx5xxxxxxx:ios:xxxxxxxxxxxxxxxx(取自 GoogleService-Info.plist) $SRCROOT/Firebase/Crash/upload-sym $SRCROOT/ServiceAccount.json
仅供参考 无需在 $SRCROOT 处加上“” $SRCROOT/Firebase/Crash/upload-sym >>>>> 我把 upload-sym 放在 Firebase/Crash/ 下
【讨论】:
以上是关于Firebase 崩溃报告上传错误的主要内容,如果未能解决你的问题,请参考以下文章
上传 1 个缺失的 DSYM 以处理 Firebase 崩溃报告中的 18 次崩溃
Firebase 崩溃报告错误:客户端应用程序 com.xxxx 被阻止
如何将映射文件上传到 Firebase Crashlytics?
调试 Firebase 崩溃报告 - CALayer 位置包含 NAN