2012-07-20 77 views
1

我在Lion上开发了一个可可应用程序,现在我想添加Leopard和Snow Leopard的兼容性。如何将Leopard和Snow Leopard支持添加到Lion Cocoa应用程序中?

我试图将开发目标设置为10.5,但Leopard和Snow Leopard仍然存在崩溃问题。

我想也打开与旧版本的Xcode的项目,但我得到数百编译错误的(我想这是因为我不能编译与旧的Mac OS SDK程序)

你有有关解决Cocoa Apps复古兼容性问题的任何建议?

回答

4

我认为开发最新的操作系统通常不是一个好主意,然后尝试在最后一刻支持较老的操作系统。如果您使用的操作系统在操作系统中引入的API比最早尝试支持的操作系统晚,则必须重写代码以避免使用这些API。这通常不值得麻烦。

也就是说,支持较老的操作系统没有任何秘密。您只需确保您只使用您尝试支持的最旧操作系统上可用的API(类,方法和函数)。在查看每种方法的文档时,您会注意到,在“可用性”下,它会告诉您哪些版本的操作系统包含该方法。例如:

可用性
适用于Mac OS X v10.6及更高版本。

假设您没有使用目标操作系统版本上没有的任何API,您只需将部署目标设置为目标操作系统的最低操作系统即可。您当然也希望对您所支持的每个操作系统版本进行彻底测试。

如果您详细阐述了您在Leopard和Snow Leopard上看到的“碰撞问题”,那么您的问题将更容易得到更详细的回答。

0

首先,在Mac上安装10.5 SDK。这可能不是必需的,但无论如何都要这样做。您可以在互联网上找到说明。请记住,使用10.5 SDK编译将确保兼容性,但除非动态加载它们,否则您将无法使用较新的OS X功能。

其次,进入你的.xib文件,并在文件属性选项卡(检查器窗格中的第一个凹槽)禁用自动布局并将部署目标设置为10.5。