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
, похоже, не может изменить ошибку даже после чистой сборки. Поэтому я не уверен, как это сделать.
Может ли кто-нибудь указать мне в правильном направлении?