【发布时间】:2016-05-02 02:45:15
【问题描述】:
关于“动态框架”目标,我需要将内部(私有)objective-c 标头连接到我的 swift 对应标头。
据我了解,我需要使用私有模块。
其中一些 swift 对应物使用 @objc class TheClass 语法桥接到 Objective-c。
我继续在$SRCROOT 下的目录中创建了module.modulemap 和module.private.modulemap 文件,并将“必要”标志添加到构建设置中。
SWIFT_INCLUDE_PATHS =>$(SRCROOT)/...
我也尝试在构建设置中添加“私有模块映射文件”
我的模块映射文件是:
module InnerModule {
export *
}
私有模块文件是:
explicit module InnerModule.Private {
header "../Classes/Header1.h"
header "../Classes/Header2.h"
...
export * // and have tried without it
}
在我添加的所有相关 Swift 文件中
import InnerModule.Private
现在在构建项目时,我的 swift 桥接头出现错误
#import <MyFramework/MyFramework-Swift.h> // getting an error here
MyFramework-Swift.h // generated header file
@import UIKit;
@import ObjectiveC;
@import InnerModule.Private; Module InnerModule not found
如何解决这个问题?
【问题讨论】:
-
运气好能找到解决方案吗?
-
不!在 LLDB 中尝试了很多不同的文档,但对我没有用。
标签: ios swift module llvm-clang bridging-header