gpt4 book ai didi

ios - OCUnit迁移到XCTest导致链接器错误

转载 作者:行者123 更新时间:2023-11-29 12:34:02 24 4
gpt4 key购买 nike

我已尝试将我们的 OCUnit 迁移到 XCTest。所以我有 100% 可编译的项目,但我看到下一个链接器错误:

Error:Undefined symbol '_OBJC_CLASS_$_XCTestCase' referenced from:...

我的 “框架搜索路径” 如下所示:

$(SDKROOT)/Developer/Library/Frameworks     (non-recursive)
$(inherited) (non-recursive)
$(DEVELOPER_FRAMEWORKS_DIR) (non-recursive)

我不知道还能做什么来满足链接器

最佳答案

迁移后,我在 Xcode 6.1 中看到完全相同的错误消息
下拉菜单编辑重构转换为 XCTest

我有 2 个解决方案:


解决方案 1 (重新创建测试项目)

  1. 备份测试项目中的所有源文件。

  2. Project Navigator中,选择项目。
    这显示了项目设置。

  3. 在项目设置中,点击显示项目和目标列表Show project and targets list

  4. 选择测试目标,然后按delete将其删除。 project settings - test target

  5. Project Navigator中,选择test target,然后按delete将其删除。 Project Navigator - test target

  6. Test Navigator 中,点击左下角的 + 按钮,然后选择 New Test TargetTest Navigator - New Test Target

  7. 将您的原始源文件添加回新的测试目标。

  8. 现在像往常一样测试您的项目。


方案二(hackishly修改测试项目)

  1. Project Navigator中,选择项目。
    这显示了项目设置。

  2. 在项目设置中,选择测试目标(不是主要目标),然后选择Build Phases

  3. Link Binary With Libraries中,点击+按钮。
    这显示了框架列表,但没有 XCTest。

  4. 选择一个您根本不使用的框架,例如 Twitter.framework,然后点击添加

  5. 在文本编辑器中打开您的项目文件 (something.pbxproj),并将所有出现的 Twitter.framework 替换为 XCTest.framework.
    注意:pbxproj 文件位于.xcodeproj 文件夹中。在 Finder 中,您必须右键单击 .xcodeproj 并选择显示包内容

  6. 返回到 Xcode 中的 Link Binary With Libraries,并检查是否添加了 XCTest.framework

    • 如果没有,请尝试重新启动 Xcode。
    • 如果已添加但为红色,则忽略它。 Xcode 找不到框架,但链接器可以。
  7. 现在像往常一样测试您的项目。

关于ios - OCUnit迁移到XCTest导致链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26841449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com