2016-10-04 25 views
2

由於我使用Crashlytics來處理我崩潰,我總是取消選中「包含應用程序的符號爲您的應用程序從蘋果公司獲得symbolicated崩潰日誌」並保持「包括位碼「一個提交我的應用程序iTunes Connect中像這樣的檢查之前(未來蘋果觀察證明):Xcode中位碼,包括上的dSYM代符號設置效果

Settings

Crashlytics有大約有位碼的問題,缺少dSYMs的文章:

https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#bitcode-download

根據他們的截圖,下載由位碼創建的新生成的dSYM文件,則在iTunes Connect下載可直接鏈接,但似乎你必須選中「包含應用程序的符號」,能夠下載它們,否則你只是得到這樣的:

No

所以,我如何都需要Crashlytics的良好運作或任何第三方的這兩個設置有點迷茫崩潰處理程序服務。

我是否應該檢查這兩個設置?是否可以取消選中「包含應用程序符號」,因爲我沒有使用Apple的崩潰管理器(根據我的理解,dSYM文件在他們的後腳本存檔中上傳到Crashlytics)並且只保留位代碼檢查或者如果我這樣做,是否能夠下載新的Bitcode生成的dSYMs(導致Crashlytics的問題象徵着崩潰正確)?

回答

6

這是一個很好的問題。有許多旋鈕會影響應用程序的調試符號信息的可用性。這很令人困惑,人們不斷被絆倒。

這裏是我的準則:

  • 提交的應用程序時,蘋果
  • 永遠剝奪你的最後可執行(後綴名爲.app,.framework)經常檢查 「包括符號」 對話框
  • 從不帶你的靜態庫,如果你有任何的
  • 你想蘋果的崩潰報告工作,即使你不打算看它

使用此配置,您的本地或Apple生產的dSYM將包含Crashlytics和Apple的記者工作所需的調試信息。它是關鍵您使用位碼時與Apple共享符號。如果你不這樣做,很可能你永遠無法看到該應用版本的符號化崩潰。

當然,您可能不想與Apple共享符號的一些正當理由。一個是你想混淆你的代碼。我知道有幾個應用程序可以做到這一點。當然,這是一個折衷方案,因爲它使符號化變得更加困難甚至不可能,這取決於混淆系統。

還有一些原因,您可能不想剝奪您的可執行文件。一個是您依賴不支持服務器端符號的第三方崩潰報告系統。據我所知,這種情況越來越少見,但它是需要注意的。

最後,即使您從未計劃使用它,您也一定希望Apple的崩潰報告系統能夠正常工作。與任何第三方解決方案相比,Apple系統能夠更可靠地捕獲更多的崩潰。我相信這對蘋果的內部工作也是無價的。它肯定有限制,但真的不花你任何東西。所以,保持它的工作,如果沒有其他的理由,可以選擇在未來看看它。

+1

我應該還包括一個鏈接,覆蓋這個一般區域的織物抽取:https://docs.fabric.io/apple/crashlytics/missing-dsyms.html – Matt

+0

謝謝馬特!我沒有選中「包含符號」複選框,因爲我收到了一些「rsync」錯誤,並且有時需要2-3次才能成功上傳。我還看到了一個Github問題,Fastlane開發人員說他在使用Crashlytics後沒有檢查它。 – allaire

+0

有趣的是,我把這個複選框關閉了很多版本,而Crashlytics正確地接收了我的象徵性的崩潰。是否因爲我的應用程序(尚未)未被Bitcode重新編譯,並且它仍使用在歸檔階段上傳到Crashlytics的同一個dSYM文件? – allaire

相關問題