Im пишет динамическую Framework (Proto.framework) для OS X в Swift. Я хочу включить код из статической библиотеки (libstat.a), который написан в Objective C. Heres, что Ive получил:
// 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(). Он не знает символы для моей статической библиотеки. Как мне рассказать об этом?
Для приложений Id использует заголовок моста и делает #import <Stat/Stat.h>. Но компилятор ошибся и говорит мне Bridging headers aren’t allowed in frameworks. OK.
Поэтому я включаю его в свой "заголовок зонтика" (Proto.h), но это говорит мне error: include of non-modular header inside framework module. OK.
Создание моей целевой библиотеки Stat Defines module: YES, похоже, не может изменить ошибку даже после чистой сборки. Поэтому я не уверен, как это сделать.
Может ли кто-нибудь указать мне в правильном направлении?

