我有一个在10.6下发布的项目。它有相当标准的“调试”和“发布”方案。
我正在为想要自定义版本的客户端做一些新工作。我正在使用Xcode 4.5.1,并将基本SDK设置为10.7,但部署目标设置为10.6以便向后兼容。
在我编写的新代码中,我开始使用最近添加到Xcode的自动生成的实例变量(不确定这是4.4还是4.5)。我有时在类的实现中使用_iVar变量来访问属性的底层iVar。
我的调试方案很好地构建了一个clinet的调试版本。
但是,当我切换到发布方案时,永远引用自动生成的实例变量会引发未声明的标识符错误。
我的调试方案中必须有一些设置正确但在我的发布方案中没有。我不是构建设置的专家,也不知道那个设置是什么。有人可以帮帮我吗?
我还有另一个困扰我的问题。我在我的项目中添加了一个新类(在远程SVN存储库中维护。)新文件在项目导航器中标有“A”,表示它们被标记为在下次提交时添加到我的repo中。
我决定重命名这门课。我过去在重命名源代码控制下的文件时遇到了问题,所以我所做的就是在finder中复制文件,将其名称更改为新名称,然后将它们添加到项目中。然后我从Xcode中的项目中删除了OLD文件。然而,现在,当我构建时,我得到一个警告,这些旧文件丢失了。某处Xcode仍然引用了我告诉它要删除的文件。这些参考文献在哪里,我如何删除它们?我的“编译源”项目的构建阶段显示了新文件,但不显示我删除的旧文件。
提前感谢您的帮助,
Duncan Champney WareTo答案 0 :(得分:0)
我找到了问题第一部分的答案,但这并不好。
问题是在Mac OS上,Objective C 2.0需要现代的Objective C运行时。这需要64位。
在iOS上,现代Objective C运行时适用于所有操作系统版本,而Objective C 2.0适用于最近的几个iOS版本。
在Mac OS上,唯一的64位操作系统版本是10.8。据我所知,OS 10.6和10.7安装默认为32位。
为了使用Objective C 2.0功能,我们必须只构建64位,这意味着以32位模式运行机器的人无法使用我们的应用程序。那很糟糕。