2014-06-06 32 views
4

我正在努力使用Swift應用程序中的靜態庫(由Objective C編譯)。CompileSwift在iOS8.0中聲明「當前部署目標不支持自動__weak引用」

我有一個包含相關頭文件的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; 
+1

請將第89行的Acme.h –

+0

我的問題(在escoz/QuickDialog中)與用__weak標記的ivar相同。 –

回答

1

原來的答案是從方法參數除去__weak屬性,或在我的情況包括這在我的橋接報頭

#undef __weak 
#define __weak /* nothing */ 
#import "Acme.h" 

SwiftCompile顯然不喜歡__weak屬性,沒有它,一切正常。這確實讓我質疑首先需要參數上的__weak屬性。

+2

你確定這沒有任何後果嗎? – aleclarson

+0

我也想知道是否有任何副作用,通過禁用__weak屬性,特別是因爲編譯器對他們沒有問題(至少對於ivars而言,我寧願只在調試器中看到此警告。 –

相關問題