2013-01-22 27 views
0

我正在研究将单元测试添加到现有的应用程序中,主要是教我自己如何工作。我得的一切是有线了依赖的阶段,我可以运行一些小的检查,如:在现有的ARC项目中实现OCUnit的问题

STAssertEquals(1, 2, @"This is a fail!"); 

而结果似乎通过正确地到来。不幸的是,如果我输入我的任何脚本,我得到了使用这样的关键字作为unsafe_unretainedstrong任何@property行编译器错误:

之前的预期“unsafe_unretained”

我想知道一个属性特性,这与ARC有什么关系? OCUnit是否符合ARC标准?我是否需要更改我的编译器设置?

+0

OCUnit与ARC合作。我首先会检查架构 - 例如,最新的Objective-C功能仅支持64位OSX架构。 –

+0

对不起,忘了提及这是一个iOS项目。体系结构是标准的(armv7,armv7s)。 – jowie

+2

检查OCUnit目标的编译器设置。看起来你有LLVM-GCC,或者是Apple LLVM编译器。 – hoha

回答

3

短篇小说

OP有一个错误的编译器在目标的设置

的时间长一点的故事设定(对于“预期的属性属性之前...”错误的Google员工)

今天唯一支持ARC的编译器是Apple LLVM编译器。我相信苹果会将LLVM GCC视为弃用,并将其与Xcode捆绑在一起,仅出于兼容性原因。所有新功能都将被添加到LLVM编译器中。

编译器设置可以在文件 - >项目设置...,“生成设置选项卡”中设置。该选项的名称是“Compiler for C/C++/Objective-C”。

+0

不错的一个:)谢谢! – jowie