【问题标题】:Can't use Kiwi to test with frameworks added by CocoaPods无法使用 Kiwi 测试 CocoaPods 添加的框架
【发布时间】:2012-10-05 21:16:39
【问题描述】:

我在让测试框架 Kiwi 与通过 CocoaPods 添加的框架一起工作时遇到问题。我同时加载了 AFNetworking 和 Lumberjack,两者都导致测试失败。仅当我的项目中构建到测试目标中的任何源文件包含来自 CocoaPods 的文件时,测试才会失败。这是我收到的消息:

2012-10-15 13:10:44.386 otest[47294:7e03] /Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest 中的测试包可以由于发生链接错误,无法加载。 dyld 可能无法找到与测试包链接的框架框架或库,可能是因为框架或库在链接时的安装路径不正确。

我已按照 CocoaPods 和 Kiwi 的所有说明进行操作。

例如,我有一个 APIClient 类。它包括 AFHTTPClient.h。如果我在没有将 APIClient.m 内置到测试目标中的情况下运行测试,则测试将构建并运行良好。如果我确实将源代码包含在其中,则表示一切都成功了,但没有运行测试,并且上面的错误消息在我的日志中。

谢谢, 詹姆斯

【问题讨论】:

    标签: ios xcode afnetworking cocoapods kiwi


    【解决方案1】:

    我遇到了类似的问题。通过将KiwiUnitTest 的构建设置(在“单元测试”部分)中的Test Host 参数设置为$(BUNDLE_LOADER) 来修复它。

    【讨论】:

    • 我希望我能在 4 小时前看到这个,为我解决了一个非常相似的问题,谢谢
    【解决方案2】:

    丢失 pch.dia 问题可能由几个不同的因素引起,但在我和一些同事的情况下,这解决了丢失 pch.dia

    卸载 CocoaPods 并安装 0.17.1

    sudo gem uninstall cocoapods
    sudo gem install cocoapods -v 0.17.1 --verbose
    

    将您的 Kiwi 版本锁定为 2.05:

    target :KiwiUnitTest, :exclusive => true do
      pod 'Kiwi', '2.0.5'
    

    清理您的 Xcode 项目,包括派生数据。关闭 Xcode,重新打开项目并构建。

    【讨论】:

    • 这对我有用。我也会在这里添加pod setuppod install 步骤。
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2017-06-29
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多