我最近(生产中)应用程序的崩溃文件没有符号,我也无法使任何手动符号化进程工作。一些用户仍在运行的应用程序的旧版本似乎符号化很好。没有符号化的崩溃文件
我已经验证的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我回去检查了一些旧的应用程序,这些应用程序是位码前的,它们没有包含下载链接。所以你可能是正确的,因为只有在启用位代码编译时才会出现下载。 –