为 iOS 构建 OCUnit 应用程序测试目标时出现链接器错误

Posted

技术标签:

【中文标题】为 iOS 构建 OCUnit 应用程序测试目标时出现链接器错误【英文标题】:Linker errors when building OCUnit application test target for iOS 【发布时间】:2011-08-26 20:24:52 【问题描述】:

我的 OCUnit 目标中包含一个应用程序测试。我可以在我的应用程序主机目标中调用类的实例方法,但我不能调用类方法。如果我调用一个类方法(如alloc),我会收到以下链接器错误:

Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_DiceGameViewController", referenced from:
      objc-class-ref in DiceGameViewControllerTest.o
     (maybe you meant: _OBJC_CLASS_$_DiceGameViewControllerTest)
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status

我认为这是因为 Objective-C 不需要在链接时访问目标文件来进行实例调用,但确实需要在链接时访问类调用。有人可以指点我的文件来确认这一点吗?

这个问题类似于这些问题:

Imported files not recognized in OCUnit

OCUnit will not allow me to use my own data types

【问题讨论】:

【参考方案1】:

在Linking error for unit testing with XCode 4?查看我的回答

【讨论】:

我会调查此事。听起来很有道理。

以上是关于为 iOS 构建 OCUnit 应用程序测试目标时出现链接器错误的主要内容,如果未能解决你的问题,请参考以下文章

做OCUnit,设置构建后测试为yes,项目无法构建成功

访问 OCUnit 测试目标中的 UIImage

Xcode 4 中的 SenTest OCUnit

UINavigationController 中的 OCUnit 测试问题

在 iOS 开发中使用 OCUnit 对 XCode 4.5 中的核心数据对象进行单元测试

在 OCUnit 应用程序测试中绕过登录/身份验证