2016-06-13 139 views
3

我在iOS中集成了沒有可可豆莢的Firebase崩潰報告。我收到錯誤。任何人都可以幫我解決這個問題嗎?Firebase崩潰報告上傳錯誤

火力地堡崩潰報告:無法發送崩潰:錯誤域= com.google.FirebaseCrash代碼= 1 「上傳失敗」 的UserInfo = {NSLocalizedDescription =上傳失敗,NSLocalizedFailureReason = HTTP錯誤代碼400:{URL:https://mobilecrashreporting.googleapis.com/v1/crashes:batchCreate?key=AIzaSyAmAo91FUyOLsvhIbsSo9U4bwoY9pHBDSM&alt=json} {狀態代碼:400,標題{「Cache-Control」= private; 「內容編碼」= gzip; 「Content-Length」= 123; 「Content-Type」=「application/json; charset = UTF-8」;日期=「星期一,2016年6月13日17時01分1秒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

我遇到了同樣的問題,無法弄清楚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" } }

一旦我固定的版本號崩潰報告開始工作。這個信息應該真的在原始的失敗日誌中,所以我要爲此做一個功能請求。希望這可以幫助

0

單擊設置圖標(在概覽菜單旁邊)>單擊項目設置 選擇服務帳戶,然後單擊崩潰報告 等待加載...。

之後,再次單擊(旁邊總菜單)>單擊權限 選擇服務從左邊的菜單 找到「火力-crashreporting」服務帳戶名>點擊右側的創建關鍵的3個點賬戶設置圖標並選擇Json格式。 之後,您將獲得下載的「未知」文件,然後將其名稱更改爲「ServiceAccount.json」 將其拖到Xcode項目。

在Build階段添加「運行腳本」。 將下面的2行: GOOGLE_APP_ID = 1:xxxx5xxxxxxx:IOS:XXXXXXXXXXXXXXXX(取從GoogleService-Info.plist中) $ {SRCROOT} /火力地堡/崩潰/上傳 - 均$ {SRCROOT} /ServiceAccount.json

FYI 不需要在$ {SRCROOT}上放置「」 $ {SRCROOT}/Firebase/Crash/upload-sym >>>>>我把firefoxbase/Crash上的upload-sym/