UI 测试目标无法识别 xcworkspace 中自定义框架中的 Swift 包

Jor*_*mar 14 xcode frameworks package swift

我正在一个工作区(monorepo)中开发多个项目。工作区包含一个共享框架,其中包含项目之间共享的代码。某些代码依赖于我使用 Swift 包管理器导入的外部包。除了当我使用 UI 测试目标时无法识别包之外,一切正常。当我为其中一个项目运行 UI 测试时,它抱怨无法找到包(在框架中)。也欢迎另一个适合我的需求的解决方案。无论如何,我使用的是 Xcode 11.3。重现:

  1. 创建一个新的工作区。
  2. 将新项目 A 和新框架 B 添加到工作区中。
  3. 将任何依赖项(例如 SDWebImage)添加到框架中。
  4. 将 Swift 文件添加到刚刚执行import SDWebImage.
  5. 现在将框架 B 添加为项目 A 的依赖项。

如果你构建项目A或者单元测试项目A,是没有问题的。但是,当您在项目 A 上运行 UI 测试时,它会抱怨在上面第 4 点添加的 Swift 文件中找不到模块 SDWebImage。知道如何解决这个问题吗?

编辑:当我使用 Cocoapods 时,它给了我同样的错误。当我使用 use_frameworks! 它没有给我错误,但它崩溃并显示“SDWebImage:找不到图像”。

Ale*_*nte 18

您必须在“构建阶段”->“将二进制文件与库链接”下手动将 B 框架作为链接库添加到 UI 测试目标中