我已尝试将OCUnit
迁移到XCTest
。所以我有100%可编译的项目,但我看到下一个链接器错误:
Error:Undefined symbol '_OBJC_CLASS_$_XCTestCase' referenced from:...
我的"Framework Search Paths"
看起来像这样:
$(SDKROOT)/Developer/Library/Frameworks (non-recursive)
$(inherited) (non-recursive)
$(DEVELOPER_FRAMEWORKS_DIR) (non-recursive)
我不知道还有什么可以做什么来满足链接器
答案 0 :(得分:1)
在使用
进行迁移后,我在Xcode 6.1中看到完全相同的错误消息
下拉菜单→修改→重构→转换为XCTest 。
我有两个解决方案:
备份测试项目中的所有源文件。
在项目导航器中,选择项目 这显示了项目设置。
在项目设置中,单击显示项目和目标列表。
选择测试目标,然后按 delete 将其删除。
在项目导航器中,选择测试目标,然后按 delete 将其删除。
在测试导航器中,点击左下方的 + 按钮,然后选择新测试目标。
将原始源文件添加回新的测试目标。
现在照常测试您的项目。
在项目导航器中,选择项目 这显示了项目设置。
在项目设置中,选择测试目标(不是主要目标),然后选择构建阶段。
在链接二进制文件库中,点击 + 按钮。
这显示了框架列表,但没有XCTest。
选择一个您根本不使用的框架,例如 Twitter.framework ,然后点击添加。
在文本编辑器中打开项目文件( something.pbxproj ),并将所有 Twitter.framework 替换为 XCTest.framework < / strong>即可。
注意: pbxproj 文件位于 .xcodeproj 文件夹中。在Finder中,您必须在.xcodeproj上右键单击并选择显示包内容。
在Xcode中返回链接二进制文件库,并检查是否添加了 XCTest.framework 。
现在照常测试您的项目。