我正在使用Swift为OS X编写动态框架(Proto.framework
)。我想包含来自用Objective C编写的静态库(libstat.a
)的代码。这是我所拥有的:
// Dynamic.swift in Proto.framework
class Dynamic {
func doSomethingWithStat() {
Stat().statThing()
}
}
// Stat.h in libstat.a static library
@interface Stat : NSObject
- (void)statThing;
@end
// Stat.m
@implementation Stat
- (void)statThing {
NSLog(@"OK");
}
@end
在我的Proto.framework目标中,我已将其链接到libstat.a。当我尝试构建Proto时,它自然无法编译,因为它找不到Stat().statThing()
的定义。它不知道我的静态库的符号。我如何告诉它这些?对于应用程序,我会使用桥接头文件并进行
#import <Stat/Stat.h>
。但是编译器出现错误,并告诉我桥接头文件不允许在框架中
。好吧。所以我把它包含在我的“伞头文件”(
Proto.h
)中,但是它告诉我错误:包含模块内非模块化头文件
。好吧。使我的
Stat
库目标Defines module: YES
似乎没有改变错误,即使进行了干净的构建。所以我不确定该怎么做。有人可以指点我方向吗?