2013-10-22 63 views
0

當前我正在實現一個靜態庫,如果我在測試應用程序中使用「原樣」代碼,但一切正常,但如果我將我的代碼編譯爲靜態庫,我得到一個無法識別的選擇,這裏是我的代碼:靜態iOS庫中無法識別的選擇器調用工廠方法

+ (id)sharedInstance { DEFINE_SHARED_INSTANCE_USING_BLOCK(^{ return [[self alloc] init]; }); }

#define DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \ 
static dispatch_once_t pred = 0; \ 
__strong static id _sharedObject = nil; \ 
dispatch_once(&pred, ^{ \ 
_sharedObject = block(); \ 
}); \ 
return _sharedObject; \ 

調用

[ZanoxTrackingEvent sharedInstance] 

結果

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:「+ [ZanoxTrackingEvent sharedInstance]:無法識別的選擇發送到類0x27ee8」

我現在很失望,我試了幾個單例實現。

回答

0

當文件系統中存在錯誤路徑時,可能會發生此錯誤。這就是我的情況。

相關問題