与 SPM 库一起导入另一个包

Import another package along with a SPM Library

想象一下当您的 App 项目使用两个自定义库时的场景

.xcworkspace
|- App.xcodeproj
|- LibraryA.xcodeproj
|- LibraryB.xcodeproj

并且由于在这种情况下我们正在使用 Xcode 框架,因此可以将以下内容添加到 LibraryB header 文件中:

#import <LibraryA/MyLibraryA.h>

而且现在不仅不需要在源代码 LibraryB 中导入 LibraryA,而且每次在 App 源文件中导入 LibraryB , LibraryA 会随之导入,非常方便。

这同样适用于可以在 Xcode 框架中找到的默认 Foundation 导入 header:

#import <Foundation/Foundation.h>

现在使用 SPM,我需要在使用它的任何地方手动导入 Foundation。

问:单独使用 SPM 软件包是否可以达到相同的结果?

我还没有找到关于此事的任何资源。谢谢!

要向整个包公开导入,您可以在任何 swift 文件中使用 @_exported 属性:

@_exported import Foundation

更多信息在下一次讨论中:https://forums.swift.org/t/package-manager-exported-dependencies/11615