XCode - iOS - <OCMock/OCMock.h> 文件未找到
Posted
技术标签:
【中文标题】XCode - iOS - <OCMock/OCMock.h> 文件未找到【英文标题】:XCode - iOS - <OCMock/OCMock.h> file not found 【发布时间】:2014-09-08 02:10:36 【问题描述】:我有一个 ios 应用程序,我正在尝试将 OCMock 添加到其中,以便更好地对其进行单元测试。我已按照 ocmock.org 上的说明以及在其他地方找到的说明进行操作,但我仍然无法编译测试代码。
这就是我所做的
将源代码添加到我的项目目录
在我的项目中创建组以模仿我的文件系统
我选择了添加到我的测试目标的选项,因此适当地添加了框架以及库搜索路径
然后我手动将标题添加到标题搜索路径
并添加了 -ObjC 链接器标志
然后当我去导入头文件时,我得到文件未找到错误
任何想法我在这里缺少什么???
【问题讨论】:
【参考方案1】:您有搜索路径test/libraries/OCMock
。然后你有#import <OCMock/OCMock.h>
。
因为没有文件test/libraries/OCMock/OCMock/OCMock.h
,所以失败。
您使用搜索路径test/libraries
,或者您可以创建一个前缀目录来保存OCMock
,并将搜索路径指向该位置。
我通常在实际目录之前有一个带有库名和版本号的目录。
目录test/libraries/OCMock-X.X.X
可以包含OCMock
目录。这样搜索路径仍然更具体:test/libraries/OCMock-X.X.X
,您仍然使用 OCMock/OCMock.h
作为包含。
【讨论】:
非常感谢!就是这样!我今天在这上面浪费了很多时间。至于有版本号的目录,你平时是不是里面的lib也一样? 我尽量保留库的原包装。所以是的,我想应该是test/libraries/OCMock-X.X.X/libOCMock.a
酷。再次感谢。【参考方案2】:
还有一件事要检查,对于遇到此问题的任何其他人 - 我将 OCMock 从一个项目复制到另一个项目,并且一切看起来正确,但它没有找到包含文件。事实证明,即使我在 Xcode 中有正确的组,文件都被转储到一个目录中。我需要在磁盘上创建文件夹并将它们与 Xcode 中的组相关联。这里接受的答案让我知道出了什么问题(尽管通常情况下,事后看来应该很明显)。
【讨论】:
以上是关于XCode - iOS - <OCMock/OCMock.h> 文件未找到的主要内容,如果未能解决你的问题,请参考以下文章
xcode 中的单元测试(使用 GHUnit 和 OCMock)
不能在 Xcode 5.0 中使用 OCMock 2.1+ 存根类方法