2017-03-09 77 views
3

我已經設置了火力地堡崩潰報告,包括運行腳本按照Firebase documentation,但有一個大問題:當我建立一個新的檔案不是所有的符號文件上傳。火力地堡崩潰報告 - 並非所有的符號文件上傳

構建新的存檔後,將兩個UUID的符號文件上載到Firebase控制檯;然而,我建立的檔案有數十個UUID(我通過從iTunes Connect下載dSYM知道這一點)。

現在,我已經有一些崩潰報告進來了,沒有一個是符號化的。我可以使用Firebase的batch-upload腳本手動上傳每個丟失的UUID的dSYM文件,但只允許將來的堆棧跟蹤用符號表示。任何現有的崩潰對我來說實際上是無用的。

沒有太多有關如何上傳符號文件的Firebase文檔,但從我收集的內容中,應該爲每個新版本(包括歸檔版本)上傳所有符號。

所以我想我的問題是:

  1. 我失去了一個設置步驟?
  2. 如果這是預期的行爲,那是怎麼回事?爲什麼只上傳一些文件?
  3. 運行腳本是否輸出日誌?也許我可以查看它,看看是否有任何錯誤。

這裏是我的腳本運行:

if [ "$CONFIGURATION" == "Release" ]; then 
    GOOGLE_APP_ID=<app-id> 
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json 
fi 

謝謝!

+0

運行我不知道我的理解,當你問你在說什麼「爲什麼只有部分上傳的文件?」 –

+0

當我從iTunes Connect下載dSYM文件時,它包含幾十個.dSYM文件(每個文件都是不同的UUID).zip存檔。只有兩個上傳到Firebase。 – cohenadair

回答

4

這聽起來像你使用的是位碼?有特別的指示。

https://firebase.google.com/docs/crash/ios#bitcode_support

+0

有趣。我不認爲我曾經注意過,但是當創建一個存檔時,默認情況下會檢查比特碼框。然而,這引出了另一個問題:有沒有一種方法可以使用'batch-upload'腳本來上傳所有的dSYM文件,而不是一次一個?我可能會寫一個腳本來完成它,但是如果內置了這個功能,它將會很好。 – cohenadair

+0

我不這麼認爲,但是團隊希望通過這種形式知道您的用例是一個功能請求:https ://firebase.google.com/support/contact/bugs-features/ –

+0

很酷;我發送了我的請求。謝謝! – cohenadair

0

我寫了一個Python 2.7腳本上傳我的dSYM的

我在項目源目錄中創建了這個文件結構

Scripts/ 
    |upload_syms.py 
    |syms/ 
     |myVersion/ 
      |FE98728-928748923B78-ASDASDF... 

upload_syms。PY

from sys import argv 
from os import listdir, system 

version = argv[1] 
symPath = 'syms/' + version 

command = './../Pods/FirebaseCrash/batch-upload ' 
command += '-i ../App/Info.plist ' 
command += '-p ../App/GoogleService-Info.plist ' 
command += '../App/ServiceAccount.json ' 
command += symPath + '/' 

symFiles = [f for f in listdir(symPath) if f != '.DS_Store'] 

for sym in symFiles: 
    print 'Upload ' + sym + '...' 
    system(command + sym) 
    print 

print 'Uploaded ' + str(len(symFiles)) + ' dSYM files' 

用於通過

終端
python upload_syms.py myVersion