@testable 导入和桥接标头不能同时工作

use*_*732 5 objective-c ios swift bridging-header

我的框架项目有测试目标,其中包括:

  1. Obj-C 测试
  2. 使用 @testable import 进行 Swift 测试以测试内部类和函数
  3. 一些用 Obj-C 编写的用于我的测试的实用程序,应该在 1) 和 2) 中使用

由于我想使用 Obj-C utils,我应该将桥接标头添加到我的测试目标中,以便从 swift 源进行访问。问题是 @testable import 不能同时与桥接标头一起工作:只要我不使用桥接标头,我就可以从我的 swift 测试源访问所有内部 API,但是当我添加桥接标头时,我只能访问公共API。

有人经历过吗?@testable 指令是否使用桥接标头实现,这使得同时使用两者变得不可能?关于如何解决问题的想法?

更新:显然,当您在 swift 代码中导入与 @testalbe 相同的框架并在桥接标头中的 Obj-C 中使用 @import (直接或在包含的标头之一中)时,显然会出现问题。我可以管理我的代码以避免同时从桥接标头和 swift 导入框架,尽管一般问题没有解决