Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在现有ARC项目中实施OCUnit的问题_Ios_Objective C_Xcode_Automatic Ref Counting_Ocunit - Fatal编程技术网

Ios 在现有ARC项目中实施OCUnit的问题

Ios 在现有ARC项目中实施OCUnit的问题,ios,objective-c,xcode,automatic-ref-counting,ocunit,Ios,Objective C,Xcode,Automatic Ref Counting,Ocunit,我正在考虑将单元测试添加到我现有的应用程序中,主要是教我自己这一切是如何工作的。我已经到了一切都与依赖性联系在一起的阶段,我可以运行一些小检查,如: STAssertEquals(1, 2, @"This is a fail!"); 结果似乎是正确的。不幸的是,如果我导入任何脚本,我会在任何@property行上收到编译器错误,该行使用了诸如safe\u unrepaired或strong之类的关键字: 在“不安全\未恢复”之前需要属性属性 我想知道,这和ARC有什么关系吗?OCUnit是否不

我正在考虑将单元测试添加到我现有的应用程序中,主要是教我自己这一切是如何工作的。我已经到了一切都与依赖性联系在一起的阶段,我可以运行一些小检查,如:

STAssertEquals(1, 2, @"This is a fail!");
结果似乎是正确的。不幸的是,如果我导入任何脚本,我会在任何
@property
行上收到编译器错误,该行使用了诸如
safe\u unrepaired
strong
之类的关键字:

在“不安全\未恢复”之前需要属性属性


我想知道,这和ARC有什么关系吗?OCUnit是否不符合ARC标准?我需要更改编译器设置吗?

短篇小说

OP在目标设置中设置了错误的编译器

稍长一点的故事(适用于谷歌搜索者的“在…之前需要属性”错误)

目前唯一支持ARC的编译器是Apple LLVM编译器。我相信苹果将LLVM GCC视为不推荐的,并将其与Xcode捆绑在一起只是出于兼容性原因。所有新特性都将添加到LLVM编译器中


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

短篇小说

OP在目标设置中设置了错误的编译器

稍长一点的故事(适用于谷歌搜索者的“在…之前需要属性”错误)

目前唯一支持ARC的编译器是Apple LLVM编译器。我相信苹果将LLVM GCC视为不推荐的,并将其与Xcode捆绑在一起只是出于兼容性原因。所有新特性都将添加到LLVM编译器中


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

OCUnit与ARC一起工作。我首先要检查一下架构——例如,最新的Objective-C功能仅在64位OSX架构上受支持。对不起,忘了提及这是一个iOS项目。体系结构是标准的(armv7、armv7s)。请检查您的编译器设置以获取OCUnit目标。看起来你有LLVM-GCC之类的东西,而不是苹果的LLVM编译器。啊,你找到了!主目标设置为Apple LLVM,但主项目编译器设置为LLVM-GCC。这以前不是问题,因为目标覆盖了它,但我猜OCUnit继承了项目设置。谢谢请随意添加它作为答案,这样我就可以勾选它并给你打分:)OCUnit与ARC一起工作。我首先要检查一下架构——例如,最新的Objective-C功能仅在64位OSX架构上受支持。对不起,忘了提及这是一个iOS项目。体系结构是标准的(armv7、armv7s)。请检查您的编译器设置以获取OCUnit目标。看起来你有LLVM-GCC之类的东西,而不是苹果的LLVM编译器。啊,你找到了!主目标设置为Apple LLVM,但主项目编译器设置为LLVM-GCC。这以前不是问题,因为目标覆盖了它,但我猜OCUnit继承了项目设置。谢谢请随意添加它作为答案,这样我就可以勾选它并给你打分:)