2014-01-09 53 views
2

我有10.9/Xcode 5,我正在尝试为Snow Leopard编写一个Cocoa应用程序。我停用了自动布局并将部署目标设置为10.6,但归档应用程序不会在10.6上启动,因为它无法加载nib(控制台输出)。从我读过的,我需要使用垃圾收集,而不是ARC。如果这是真的,我该如何修改我的项目以构建并运行10.6?谢谢你的建议。Xcode 5为OS X开发10.6

回答

2

首先,确保将XIB本身配置为构建10.6。在界面生成器的右侧窗格中,你会看到如下:

enter image description here

如果您指定64位10.6,那么你可以使用ARCLite,这是蛮好的,我强烈推荐它。你真正放弃的唯一的事情就是自动调零弱引用。如果你走32位,你只需要放弃ARC。如果你可以帮忙的话,我推荐使用64位。如果你的目标是32位,你会放弃很多。要使用ARCLite,您不必更改任何内容。当您编译10.6的ARC程序时,它会自动选中。

作为说明:是的,你在做什么是完全可能的。我仍然以10.9/Xcode5设置为目标10.5。

+0

注意,当我们将Xcode5定位到10.5时,我们发现了一个不好的不速之客。对于某些客户,他们会在所调用的Apple函数(如BUF_MEM_GROW())中的线程5中崩溃。这次崩溃只出现在10.5台机器上,并且在5年前从未出现过这款应用。这是在32位,非ARC。 –

+0

我不知道如果我的目标机器是64位或32位,但我已经完成了上面列出的步骤,但它不起作用,我猜测它是32位的。我将如何将我的项目转换为支持?在ARC引入时我开始开发,所以之前我没有做过任何其他的工作。 – user2105505

+0

转换为手动内存管理只需要关闭构建设置中的“Objective-C自动引用计数”。但是你需要学习手动内存管理。 ocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html但请仔细检查您是否在32位机器上。当你说“它没有工作”时,你是否特意指出它抱怨说找不到ARClite? “它没有用”涵盖了很多东西。 –