我最近的(生产中)应用程序的崩溃文件没有符号,我无法使任何手动符号化过程正常工作。一些用户仍在运行的旧版本的应用程序似乎象征性很好。
我已经验证 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 包含符号,因此 AFAIK 存档已正确构建和上传。请注意,不存在指向“下载 dSym”的链接,正如其他一些帖子所指出的那样。
1) My Apps > select app > Activity > All Builds
2) Select version that matches crash
3) General Information = Yes
我试图通过将崩溃日志拖到现有设备上来强制 XCode 进行符号化,如此处和此处所述
如此处所述,symbolicatecrash
使用该实用程序也没有运气
知道为什么这不适用于 Xcode 7.3.1 吗?
更新:
当我们上传到 iTunes Connect 时,我们确保选中了包含 dSYM 的复选框。构建的 BuildDetails 显示“Includes Symbols = YES”,但没有下载 dSYM 的链接。如果我尝试从 Xcode 下载它,它会说它丢失了。知道为什么吗?
更新 - 证明崩溃 UUID 与我的 dSYM 匹配
我发现以下帖子如何解决符号问题非常有助于证明我的崩溃 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