我有一个动态框架MyFramwork.framework
,在框架的项目中,Swift 代码和 ObjC 标头标记为受保护(在 MyFramwork.framework 内部使用)和公共(由应用程序外部使用)。MyFramwork.framework 也是 App 中的嵌入式框架
按照此处提到的步骤http://nsomar.com/project-and-private-headers-in-a-swift-and-objective-c-framework/,我创建了一个
module MyFramwork_Private {
header "../...h"
...
export *
}
带有所有受保护的标头(SWIFT_INCLUDE_PATHS
= module.modulemap 文件所在目录的路径)
和一个PublicHeaders.h
(我在我的伞形标题中导入MyFramwork.h
)和所有公共标题
如何制作一个使用 App 中可用的 MyFramwork 私有代码的公共 Swift 类/结构?
如果我import MyFramwork_Private
在来自 MyFramwork 的 swift 文件中,应用程序在构建 MyFramwork.framework 时,将尝试访问定义的私有头文件module MyFramwork_Private
并且构建失败,因为应用程序看不到受保护的头文件