【发布时间】:2013-03-30 17:21:57
【问题描述】:
我正在 OS X 10.8 机器上使用 Xcode 4.6 开发应用程序。应用部署目标设置为 10.6,这是我们需要支持的。但是当我存档应用程序(编译、链接和嵌入资源+框架)并将其部署(也称为复制)到 10.6 测试机器时,它会因通用分段错误而崩溃。它在 10.7 上运行良好。
我无法在旧版 Mac 上的 Xcode 中编译项目,因为该应用程序是使用较新的编译器构建的(它使用 ARC、隐式属性合成、新的 Objective-c 文字语法等)。它也不会进行类型检查,因为基础 SDK 是 10.8,并且它引用了 10.6 机器上的编译器不知道的一些 10.8 令牌。
关于如何调试应用程序有什么建议吗?
【问题讨论】:
-
gdb 呢?用它启动你的二进制文件
-
@cody 我喜欢 Xcode 中的可视化调试器,尤其是在我的源代码中设置断点。
-
你在说什么 10.8 代币?是否有任何运行时条件或“
respondsToSelector:”调用允许 10.6 机器避开 10.8 特定 API? -
所以可以尝试从 xcode 附加到进程?
-
@MichaelDautermann 例如,我们拥有的一些代码如下所示:
if ([NSUserNotificationCenter class]) {//use lion notification center} else {//use growl}
标签: xcode macos cocoa gdb lldb