xcode - 如何将框架依赖项添加到测试目标?

标签 xcode dependency-management

我创建了一个框架,其中包含对测试有用的代码(例如,一堆便利的初始化程序)。现在我想将该框架导入到测试目标中,但在 Xcode 中似乎没有办法做到这一点。只需使用 import Dependency 导入即可构建时给我“未找到模块”错误。

测试目标的常规选项卡没有任何设置(或任何设置):

enter image description here

Build Phase 选项卡有一个 Dependencies 部分,但是当我按下 + 按钮时,我要添加的框架没有显示在列表中:

enter image description here

还有一个 Link Binary with Libraries 部分,但是当我尝试选择框架时,Xcode 说该文件已经被链接(在哪里?):

enter image description here

如果我将框架添加到主要目标的框架、库和嵌入式内容部分,我可以导入和使用框架,但我不想这样做,因为框架仅用于测试代码。我看不出用所有额外的初始化程序污染命名空间的原因。我可能会尝试检查是否没有 XCTest类在运行时可用并崩溃,但这似乎是一种解决方法而不是解决方案。

有什么建议吗?

附言我正在使用最新版本的 Xcode (11.3.1)。

最佳答案

如果您有源代码,您可以使用 Explicit dependency [About]cross-project reference

  • 将依赖项项目拖放到测试目标中
  • 构建阶段 -> 依赖项 -> 加号(如果您在上一步中没有将依赖项包含到测试目标中)
  • 进口

  • [Mixing Objective-C and Swift]

    关于xcode - 如何将框架依赖项添加到测试目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59921001/

    相关文章:

    ios - XCode - Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1

    当指针设置为 nil 时的 Objective-C 引用计数(无 ARC)

    ios - 尝试使用 Core Image 模糊 UIImage 时出现内存泄漏

    java - Gradle 中的“提供”依赖项

    java - 找不到具有 starter-security 依赖项的 springframework.security 包?

    ios - swift : How do I pass the same text and image form tableVC to a detailVC using the same tableviewcell?

    java - 当我在项目中添加新库时相关库的协调版本

    javascript - requirejs vs google javascript 闭包依赖管理

    maven - 自动化 Leiningen 本地依赖管理

    ios - 如何以编程方式在 iOS 中播放 .flv 扩展文件