【问题标题】:Unit tests don't see the framework they're supposed to test although they're in same SwiftPM target单元测试看不到他们应该测试的框架,尽管它们在同一个 SwiftPM 目标中
【发布时间】:2022-06-21 21:55:44
【问题描述】:

我正在迁移一个 Objective-C 框架以使用 Swift 包管理器构建,但是当我使用 xcodebuild -scheme MyFramework -workspace . 构建它时,SwiftPM 抱怨:

/Users/uli/Programming/apple/MyFramework/MyFrameworkTests/MyFrameworkTests.m:4:9: module 'MyFramework' not found
@import MyFramework;
 ~~~~~~~^~~~~~~~~~~~~~~

我已验证.testTarget 有一个dependencies: ["MyFramework"] 条目。

【问题讨论】:

    标签: objective-c swift-package-manager swiftpm


    【解决方案1】:

    根据同事的提示找到了解决方案。错误消息只是误导。我以为它找不到构建产品,当它真正找到构建产品时,却认为它是空的,因为我忘记为 Swift 包设置公共标头:

    .target(
        name: "StreamUtilities",
        ...
        publicHeadersPath: "include",
        ...
    
    

    并将所有公共标头移动到目标文件夹的include 子文件夹中。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 2011-05-03
      相关资源
      最近更新 更多