我最近(生產中)應用程序的崩潰文件沒有符號,我也無法使任何手動符號化進程工作。一些用戶仍在運行的應用程序的舊版本似乎符號化很好。沒有符號化的崩潰文件
我已經驗證的Xcode有存檔:
1) Xcode > Organizer > Archives
2) Select archive and check version matches crash
3) Right-click > Show in Finder
4) right-click .xcarchive > Show package contents
Result:
the .dSYM file exists in 'dSYMs' directory
the .app file exists in 'Products/Applications' directory
iTunesConnect包括符號,所以據我所知存檔建成並正確上傳。請注意,鏈接到「下載dSym」確實是不是存在爲some other posts indicate。
1) My Apps > select app > Activity > All Builds
2) Select version that matches crash
3) General Information = Yes
我試圖強迫的XCode通過崩潰日誌拖到現有設備symbolicate,如所描述here和here
沒有運氣使用symbolicatecrash
工具既可以作爲描述here
任何想法爲什麼這不適用於Xcode 7.3.1?
更新:
當我們上傳到iTunes Connect中,我們已確保該複選框以包含的dSYM檢查。 Build的BuildDetails顯示「包含Symbols = YES」,但沒有鏈接可下載dSYM。如果我嘗試從Xcode下載它,它說它缺失。任何想法爲什麼?
更新 - 證明了崩潰UUID符合我的dSYM
我發現下面的職位How to solve symbolication problems非常有幫助的,以證明我崩潰UUID存檔的UUID相匹配。它們匹配,所以我已經在我的機器上準備了正確的存檔,用於未被符號化的崩潰。
Find the UUID in the crash report
- line just after "Binary Images"
- 0x100078000 - 0x1006ebfff MyApp arm64 <381e625bf2cc3703b0c76c723155c931>
UUID = 381e625bf2cc3703b0c76c723155c931 for the crash file
Find the UUID in the app binary
- Show Package Contents: MyApp-version.xcarchive/Products/Applications
- run: dwarfdump --uuid MyApp.app/MyApp
Result:
UUID: 381E625B-F2CC-3703-B0C7-6C723155C931 (arm64) MyApp.app/MyApp
UUID matches, just formatted to upper case with separators
Proves the .app file matches the crash file
Find the UUID of the dSYM
- Show Package Contents: MyApp-version.xcarchive/dSYMs
- run: dwarfdump --uuid MyApp.app.dSYM
Result:
UUID: 381E625B-F2CC-3703-B0C7-6C723155C931 (arm64) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
UUID matches - proves the dSYM file matches the crash file
在iTunesConnect中,所有版本都有「包含符號=是」,但沒有鏈接可用於下載dSYM文件。我們有一個非常新的版本,我們仔細確保複選框被選中以上傳dSYM。 –
是否有可能iTunes Connect中的Download dSYM鏈接僅在您的應用程序使用位碼編譯時纔可用,在這種情況下,Apple會重新編譯它?我們的應用程序不使用位碼。 –
@JimLeask我回去檢查了一些舊的應用程序,這些應用程序是位碼前的,它們沒有包含下載鏈接。所以你可能是正確的,因爲只有在啓用位代碼編譯時纔會出現下載。 –