删除了xcode 4垃圾回收?

时间:2011-03-29 01:25:35

标签: objective-c xcode macos

我正在学习Xcode和目标c,但我正在阅读的书正在使用Xcode的旧版本(3.2)。一章完全致力于内存和泄漏,我说需要通过Project Settings>打开垃圾收集。建立。但是,我找不到垃圾收集设置。它被删除了还是我错过了它?

6 个答案:

答案 0 :(得分:9)

Xcode 4仍然有垃圾收集,你所做的只是进入你的项目(导航栏中的顶部选项带有大的xcode项目图标)。选择您的目标,该目标应该只是您的应用程序的名称,旁边有应用程序图标。当您选择它时,顶部会有一个带有不同选项的栏,例如摘要,信息,构建设置等。点击“构建设置”并在搜索栏中输入“垃圾”。然后将垃圾收集设置为必需。

关于GC的一个非常重要的注意事项是它从Mac OS 10.8开始正式弃用,这意味着如果可能的话,您应该将代码转换为ARC,因为GC可能不会存在更长时间。

更新:请参阅在当前版本的Xcode中启用GC的其他答案。如上所述,如果您尚未转换为ARC,则应该转换为ARC。

答案 1 :(得分:4)

从XCode 4.4开始,垃圾收集构建标志是用户定义的(参见构建设置列表的最后部分)。

GCC_ENABLE_OBJC_GC supported

有效的构建设置是:

  • 不支持:应用程序无法加载需要垃圾回收的代码。无法通过需要垃圾回收的应用程序加载可加载包。

  • 支持:应用程序可以加载支持或需要垃圾回收的代码。可加载的包可以由具有任何级别的垃圾收集支持的应用程序加载。

  • 必需:应用程序只能加载支持垃圾回收的代码。可加载包只能由支持垃圾收集的应用程序加载。

答案 2 :(得分:2)

Xcode 4中完全支持垃圾收集.Xcode 4本身就是GC的应用程序。

GC在iOS中也非常不可用。如果您正在编写iPhone / iPad应用程序,则无法使用GC。

答案 3 :(得分:1)

这是一个挑战,但你可能能够完成它 - 这是一个与PDF生成相关的起点:

iOS SDK - Programmatically generate a PDF file

如果你一般可以按照那里发生的事情,你可能会没事。

答案 4 :(得分:1)

Xcode 3.2仍然可供下载 - 事实上,3.2.6在过去一两周内发布,所以它并不完全“老而且被破坏”。 :-) Xcode 4的界面非常不同,所以考虑到你的时间紧迫以及你需要从正方形开始,你最好现在使用3.2。这肯定会让你更容易使用你的书。

答案 5 :(得分:1)

从Xcode 4.3.3开始,“Apple LLVM编译器3.1 - 语言”部分下的参数“Objective-C Garbage Collection”可用的唯一设置,目标应用程序的Build Settings =“Unsupported”