使用OCMock静态库进行iOS单元测试(-ObjC标志问题)

时间:2016-05-17 20:29:27

标签: ios xcode linker ocmock

我的项目是使用Objective-C开发的。我有一个正在使用的第三方框架(我在这里命名为thirdparty。抱歉,我不能告诉第三方的名字)。

现在,我想为我的项目编写单元测试代码。我使用OCMock static library&我跟着它instruction将这个静态库设置为我的iOS项目。正如您在他们的指令中看到的,它要求我在构建设置 - >中添加-ObjC链接器标志。其他链接标志

但是当我构建项目时,我得到跟随错误

ld: warning: Auto-Linking supplied '../thirdparty.framework/thirdparty', 
missing required architecture i386 in file ../thirdparty.framework/thirdparty (2 slices)

但是,如果我从构建设置 - >中删除添加的-ObjC链接器标记。其他链接器标志,上面的错误消失了,我的项目可以成功构建(但是当运行我的单元测试时,OCMock库抛出错误,要求我添加-ObjC链接器标志)

1 个答案:

答案 0 :(得分:1)

关于错误,我假设您的第3个库不支持i386架构。我想你在Simulator上运行时遇到了这个问题。您应该再次检查您的lib是否支持目标体系结构。这是检查的脚本

xcrun -sdk iphoneos lipo -info $(FILENAME)

结果显示如下

enter image description here

所以我认为问题可能不是来自OCMock静态lib,只要它支持i386架构。您还应该再次检查您的配置或其他库。