与 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
想象一下当您的 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