2

我刚刚收到一位用户的报告,当他尝试启动我的应用程序的新版本时,它在他的机器上崩溃了。崩溃报告是:

进程:MyApp [222] 路径:/Applications/MyApp.app/Contents/MacOS/MyApp 标识符:com.MyCompany.MyAppAppAndImporter 版本:??? (???) 代码类型:X86-64 (Native) 父进程:launchd [155]

日期/时间:2010-09-04 14:27:21.668 -0400 操作系统版本:Mac OS X 10.5.8 (9L30) 报告版本:6 匿名 UUID:8F8B3FDF-6F95-463B-AC8F-170775D224D2

异常类型:EXC_BREAKPOINT (SIGTRAP) 异常代码:0x0000000000000002、0x0000000000000000 线程崩溃:0

Dyld 错误消息:找不到符号:_OBJC_CLASS_$_NSURL 引用自:/Applications/MyApp.app/Contents/MacOS/MyApp 预期在:/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

用户在 3.06 GHz Core 2 Duo Macbook Pro 上运行 OS X 10.5.8。我可以在我的 PowerBook G4 上的 Tiger and Leopard 和我的 iMac 上的 Snow Leopard 上很好地启动该应用程序。至少一名用户能够在 Snow Leopard 下正常启动该应用程序。从我的(诚然很小的)样本集中,我认为问题是特定于运行 Leopard 的 64 位机器。

我的项目使用 10.6 SDK 编译,部署目标设置为 10.4。

我使用 10.5 SDK 重新编译,问题就消失了。我最好的猜测是它与 NSURL 在 Snow Leopard 中从 Foundation 移动到 CoreFoundation 有关(请参阅http://www.cocoabuilder.com/archive/cocoa/280239-nsurl-crash.html?q=%22nsurl+crash%22# 280239 )。我不明白的是为什么它可以在我的(32 位)PowerBook G4 上正常工作,但不能在用户的 64 位 Intel Mac 上运行,即使两者都运行 Leopard。

关于如何解决这个问题或究竟为什么会发生的任何想法?

4

2 回答 2

1

应该在 64 位 leopard 机器上启动。鉴于类名重整,看起来确实像 64 位。

让用户向您发送 System Profiler 报告。

于 2010-09-05T01:46:48.720 回答
0

我从来没有找到真正的解决方案。由于对 libcrypto.0.9.7 的依赖,我只是构建了应用程序的发布版本,这个问题是关于 10.5 的。

于 2012-01-13T05:59:35.203 回答