-1

我有一个在 10.6 下发布的项目。它有相当标准的“调试”和“发布”方案。

我正在为需要自定义版本的客户做一些新的工作。我使用的是 Xcode 4.5.1,并将基本 SDK 设置为 10.7,但部署目标设置为 10.6 以实现向后兼容性。

在我编写的新代码中,我开始使用最近添加到 Xcode 中的自动生成的实例变量(不确定这是 4.4 还是 4.5)。我有时在类的实现中使用 _iVar 变量来访问属性的底层 iVar。

我的调试方案构建了一个调试版本的 clinet 就好了。

但是,当我切换到发布方案时,对自动生成的实例变量的引用会引发未声明的标识符错误。

在我的调试方案中必须有一些正确的设置,但在我的发布方案中却没有。我不是构建设置方面的专家,也不知道该设置是什么。有人可以帮助我吗?

我还有一个令我困惑的问题。我在我的项目中添加了一个新类(在远程 SVN 存储库中维护。)新文件在项目导航器中被标记为“A”,表示它们被标记为在下一次提交时添加到我的存储库中。

我决定重命名课程。过去我在重命名受源代码控制的文件时遇到过问题,所以我所做的是复制查找器中的文件,将它们的名称更改为新名称,然后将它们添加到项目中。然后我从 Xcode 中的项目中删除了 OLD 文件。但是,现在,当我构建时,我会收到一条警告说这些旧文件丢失了。Xcode 仍然在某个地方引用了我告诉它删除的文件。这些引用会在哪里,以及如何删除它们?我的项目“编译源”构建阶段显示新文件,但不显示我删除的旧文件。

提前感谢您的帮助,

Duncan Champney WareTo

4

1 回答 1

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 位模式下运行他们的机器的人不能使用我们的应用程序。那很糟。

于 2012-11-01T19:26:33.090 回答