1

我从一个在 armv7 设备上运行 iOS 8.1.1 的用户那里得到了一些崩溃日志。Xcode 只会象征我的应用程序中的行,当我尝试手动执行时,我会遇到很多这样的错误:

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: file: /Users/sgb/Library/Developer/Xcode/iOS DeviceSupport/8.1.1 (12B435)/Symbols/usr/lib/system/libsystem_kernel.dylib does not contain architecture: armv7
Can't understand the output from otool ( -> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -arch armv7 -l '/Users/sgb/Library/Developer/Xcode/iOS DeviceSupport/8.1.1 (12B435)/Symbols/usr/lib/system/libsystem_kernel.dylib')

有人告诉我,如果我能找到运行 iOS 8.1.1 的 arm7 设备,Xcode 将象征崩溃日志。我有一个运行 vanilla iOS 8.1 的 arm7 设备,两个小时后他们发布了 iOS 8.1.2,所以我无法安装 8.1.1。

那我该怎么办?我不能要求用户升级并获取更多日志。如何符号化崩溃日志?

4

1 回答 1

1

问题是 Xcode 6 似乎没有附带适用于 iOS 8 的 armv7 库。比较这两个 dwarfdumps:

dwarfdump --uuid /Users/xxx/Library/Developer/Xcode/iOS\ DeviceSupport/8.1.1\ \(12B435\)/Symbols/usr/lib/system/libsystem_c.dylib 
UUID: 415DBD55-796D-3413-819F-59EE8ACEBDA2 (armv7s) /Users/xxx/Library/Developer/Xcode/iOS DeviceSupport/8.1.1 (12B435)/Symbols/usr/lib/system/libsystem_c.dylib

dwarfdump --uuid /Users/xxx/Library/Developer/Xcode/iOS\ DeviceSupport/7.1.2\ \(11D257\)/Symbols/usr/lib/system/libsystem_c.dylib 
UUID: 17AEC0BF-EB49-3308-9292-4005DC41C50E (arm64) /Users/xxx/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/usr/lib/system/libsystem_c.dylib
UUID: 5DA46A1B-0620-36F6-9C19-32E4EC6695FB (armv7s) /Users/xxx/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/usr/lib/system/libsystem_c.dylib
UUID: 371F0E18-54F0-3B05-BA14-3619E4EAC99F (armv7) /Users/xxx/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/usr/lib/system/libsystem_c.dylib

我也尝试了 8.0,并得到了与 8.1.1 类似的输出。这让我相信 Apple 刚刚对 iOS 8 及更高版本的 armv7 设备说“搞砸了”。

我四处寻找,看起来您无法在任何地方下载任何此类库:(

如果您发现其他情况,请纠正我。

于 2014-12-16T20:37:53.583 回答