objective-c – 当存在新的API时,构建向后兼容的OS X应用程序?

objective-c – 当存在新的API时,构建向后兼容的OS X应用程序?,第1张

概述我正在尝试升级应用程序( Clarke)以提供10.6兼容性. 我的计划是使用两种不同的代码路径,具体取决于所使用的OSX版本. 在10.5上它将使用一个控制器,它由完全自定义代码组成,不依赖于任何特定的Cocoa API.在10.6上,它将使用另一个控制器,该控制器基于相同的抽象类将新的CoreLocation API包装在相同的接口中.在运行时,应用程序将通过检测 *** 作系统版本在控制器之间切换. 我正在尝试升级应用程序( 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?

解决方法 您应该可以通过更改目标的构建设置来解决此问题:

>将Base SDK设置为10.6>将Deployment SDK设置为10.5

总结

以上是内存溢出为你收集整理的objective-c – 当存在新的API时,构建向后兼容的OS X应用程序?全部内容,希望文章能够帮你解决objective-c – 当存在新的API时,构建向后兼容的OS X应用程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存