kmm*_*mm3 8 xcode adhoc symbolicatecrash ios bitcode
所以这让我疯了但我终于发现,当我导出我的应用程序进行adhoc部署时,bitcode编译选项导致我的调试符号文件(dSYM)和我的应用程序UUID不匹配意味着我无法表示任何崩溃日志.
关闭选项修复了这个问题,但有没有办法可以通过选项修复它?我阅读了该选项的提示,它说商店使用这种方法.我现在也无法从应用程序商店读取崩溃日志,或者这只是一个本地问题?
以下是我在此Xcode版本之前从旧版本中获得的内容:
dwarfdump --uuid app
DD25E6C9-... (armv7)
29F74B2E-... (arm64)
dwarfdump --uuid app.dsym
DD25E6C9... (armv7)
29F74B2E... (arm64)
Run Code Online (Sandbox Code Playgroud)
精细.现在使用bitcode:
dwarfdump --uuid app
E7D2BE71-... (armv7)
5C871FD7-... (arm64)
dwarfdump --uuid app.dsym
BC93BCF5-... (armv7)
3312658C... (arm64)
Run Code Online (Sandbox Code Playgroud)
显然它不会象征性.我已经尝试关闭选项并再次匹配.这是Xcode没有为新的bitcode构建重新生成符号的问题吗?为什么哦,为什么这个默认为ON而不警告你的崩溃日志?
启用位码后,XCode 归档过程会生成: 1. 本机 arm64 或 armv7 代码 2. 位码 3. dSYM 文件(与本机代码的 UUID 匹配)
当您生成临时发行版并启用“bitcode 编译”选项时,XCode 也会将 Bitcode 重新编译为 Native,这可能并且通常会导致 arm64 和 armv7 部分产生不同的 UUID。原始 app.dSYM 未被触及(因此与新的二进制文件不匹配),而是在同一 xcarchive 文件夹中生成新的 dSYM,它们的形式为“E2015333-1220-391E-928C-04C32A179EC9.dSYM”并匹配新编译的二进制文件的实际 UUID。
故事并不总是就此结束,这些新的 dSYM 文件可能会被混淆(即使用 __hidden#232434 而不是实际的符号名称)。用于反混淆的映射也驻留在名为“BCSymbolMaps”的文件夹中的 xcarchive 文件夹中。
要对这样的 dSYM 进行反混淆,可以使用以下命令:
dsymutil --symbol-map <bcSymbol-file> <obfuscated-dsym-file>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |