我正在努力在Swift应用程序中使用静态库(从Objective C编译)。
我有一个包含相关标头的Objective C桥接标头。在构建应用程序时,我收到此错误..
/someDirectory/Xcode/FirstSteps/headers/Acme.h:89: the current deployment target does not support automated __weak references
Acme 类使用弱引用,但部署目标是iOS 8.0,它应该支持它们。我吠叫错了树吗?
Acme.h第89行写道:
-(void) addTopicListener:(__weak NSObject<ACMETopicListenerDelegate>*) delegate;
答案 0 :(得分:1)
事实证明,答案是从方法参数中删除__weak
属性,或者在我的情况下将此包含在我的桥接标题中
#undef __weak
#define __weak /* nothing */
#import "Acme.h"
SwiftCompile显然不喜欢__weak
属性,没有它,一切正常。它确实让我首先质疑参数上__weak
属性的必要性。