1

我有几个旧的 32 位非 ARC 框架(预编译,我无权访问源代码)我正试图包含在一个新项目中。该项目构建良好,但是当我尝试运行单元测试时,我收到以下错误:

[...]MappingKitTests.octest 的测试包无法加载,因为它的 Objective-C 运行时信息与测试台所需的运行时信息不匹配。这可能是因为测试平台在禁用 Objective-C 垃圾收集的情况下运行,但测试包需要 Objective-C 垃圾收集。要为测试装备启用 Objective-C 垃圾收集,请在没有 OBJC_DISABLE_GC 环境变量的环境中运行它。

我的新项目和单元测试是 32 位的,非 ARC,所以这个错误对我来说没有多大意义。

项目和框架是否必须使用相同版本的 OS X SDK 构建?这是我唯一能想到的。这些框架是使用 10.6 SDK 构建的,而我的新项目是使用 10.8 SDK 构建的。

4

1 回答 1

0

我想通了。我对垃圾收集 (GC) 和自动引用计数 (ARC) 感到困惑。此错误专门针对 GC。

添加GCC_ENABLE_OBJC_GC = unsupported的用户定义构建设置更正了该问题。

于 2013-01-04T02:48:22.467 回答