类"__ARCLite__"警告

Riv*_*era 5 iphone objective-c ios automatic-ref-counting

我正在基于文档教程为我的项目实现测试单元.

我选择在创建将用于"逻辑"测试的项目时创建测试目标,现在我正在为"应用程序"测试创建第二个目标,并且只有在第二个目标上运行Test时才会收到此警告:

Class __ARCLite__ is implemented in both
/Users/.../iPhone Simulator/5.0/.../<AppName>.app/<AppName>
and /Users/.../Build/Products/Debug-iphonesimulator/<AppName>AppTests.octest/<AppName>AppTests.
One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)

我使用文档指南设置应用程序单元测试新创建了目标.

令我惊讶的是,没有提及此类" ARCLite "类,无论是文档还是谷歌(除了一些中文网站的结果).

任何的想法?谢谢

Wev*_*vah 3

我并不肯定,但我的猜测是该类__ARCLite__是处理 OS X 10.6/iOS 4 上的 ARC 的(其中 ARC 不是系统运行时的一部分)。就这个警告而言,我不会担心;如果您同时编译了应用程序和库,则类应该是相同的。

  • 关于如何消除警告有什么建议吗? (3认同)
  • @ernipiggy:ARCLite 正在链接到 &lt;AppName&gt;.app/&lt;AppName&gt;,然后再次链接到 &lt;AppName&gt;AppTests.octest/&lt;AppName&gt;AppTests。由于在运行测试时后者被注入到前者中,因此这会向链接器提供相同符号的两个副本,并且它必须选择一个。这就是警告的意思。在这种情况下,这是一个无害的警告,因为 __ARCLite__ 的两个实现是相同的(由于来自链接到两个目标的完全相同的静态库)。 (2认同)