objective-c – iOS UnitTests:无法链接到我的Application目标
建立:
Xcode 4.5.2(4G2008a) OS X 10.7.5 我有一个Xcode项目,具有正常的iOS应用程序目标.我正在尝试将ApplicationTests单元测试包(不是LogicTests包)添加为described by Apple’s documentation. 我已仔细按照文档中提供的步骤进行操作,并重新检查了几次.但是,我无法构建ApplicationTests目标…当尝试链接到我的Appliation类之一时,它失败并出现链接器错误.似乎设置ApplicationTests目标的Bundle Loader构建设置不起作用.但正如Apple的文档所描述的那样,AFAICT,我已经正确设置了它. 我的再生步骤: >按照Apple’s documentation for setting up an ApplicationTests bundle. 预期: 实际: Undefined symbols for architecture i386: "_OBJC_CLASS_$_MyAppClass",referenced from: objc-class-ref in ApplicationTests.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 如果我在单元测试中删除对MyAppClass的引用,ApplicationTests包将构建并成功运行. 再次,似乎我没有在我的ApplicationTests目标中正确设置Bundle Loader构建设置,但我已经重新检查了,我似乎正确地遵循了Apple的指令. 如果我的ApplicationTests目标无法链接到我的Application目标中的符号,我可能做错了什么? 更新:我还尝试使用Application和ApplicationTests目标从头开始创建新的虚拟项目.在虚拟项目中,我将一个MyAppClass类添加到Application目标,并且能够链接到它并成功运行使用虚拟ApplicationTests目标中的MyAppClass的单??元测试. 因此,我的虚拟项目中的应用程序测试工作.但它们在我的真实项目中不起作用.我已经比较了虚拟和真实项目中的目标,并且找不到会导致我的真实项目出现此问题的显着差异. 我真正的项目已经很老了(但也非常复杂,所以很难重新开始).我想知道该项目的旧版是否阻止这个相对较新的功能工作? 在我看来,我的实际项目中的一个目标中存在构建设置问题.但我找不到它. 解决方法
你能尝试用Xcode 5.0打开项目吗?在项目/目标设置中选择单元测试目标,打开“常规”选项卡,检查所选的“目标”是否是您的主应用目标.
这就是Xcode获取链接到单元测试包加载器的信息的地方. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |