我有几个旧的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构建的。
答案 0 :(得分:0)
我想出来了。我在垃圾收集(GC)和自动引用计数(ARC)之间感到困惑。此错误特指GC。
添加 GCC_ENABLE_OBJC_GC =不支持的用户定义构建设置已更正此问题。