【发布时间】:2009-09-10 17:35:12
【问题描述】:
我正在尝试升级应用程序 (Clarke) 以提供 10.6 兼容性。
我的计划是根据使用的 OSX 版本使用两种不同的代码路径。
在 10.5 上,它将使用一个控制器,该控制器由完全自定义的代码组成,不依赖于任何特定的 Cocoa API。在 10.6 上,它将使用另一个控制器,它将新的 CoreLocation API 包装在一个相同的接口中,基于相同的抽象类。在运行时,应用将通过检测操作系统版本在控制器之间切换。
这在为 10.6 SDK 构建的 10.6 上运行良好,但相同的构建在 10.5 上会崩溃:
10/09/2009 18:30:50 [0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575] dyld: unknown required load command 0x80000022
10/09/2009 18:30:51 com.apple.launchd[403] ([0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575]) Exited abnormally: Trace/BPT trap
如果我为 10.5 SDK 构建,它显然无法编译 CoreLocation 的东西。
我希望能够为此应用程序提供一个二进制文件。有没有办法从 10.5 中“隐藏”CoreLocation API?
【问题讨论】:
标签: objective-c cocoa xcode macos xcodebuild