我有一個框架,回調在AppDelegate
方法使用的NSThread
detachNewThreadSelector:
,這看起來是這樣的:NSThread detachNewThreadSelector:崩潰只在發行版本在Xcode 7 +雨燕2.0
private func bridgeSelector(selector: String?, object: String?) {
if selector != nil && responder != nil {
dispatch_async(dispatch_get_main_queue(), {
NSThread.detachNewThreadSelector(Selector(
selector!),
toTarget: self.responder!,
withObject: object
)
})
}
}
的responder
是var
分配給self
在AppDelegate
當框架的類被初始化時。
該應用程序在調試版本中運行時沒有問題,但是當上述內容在發佈版本中被調用時會立即崩潰。 (當我關閉發佈版本的優化時,它也崩潰了。)
我正在使用Xcode 7 beta和Swift 2.0。 (我知道它是測試版,但它是唯一支持Swift 2的測試版。)
編輯 -我最終使用closure而不是detachNewThreadSelector:
。適用於兩種版本。
無法使用類型爲'(String,toTarget:AnyObject,withObject:String?「)的參數列表調用'detachNewThreadSelector'' –
'您可以顯示崩潰登錄? –
異常類型:EXC_BAD_INSTRUCTION(SIGILL) 異常代碼:0x0000000000000001,0x0000000000000000 異常備註:EXC_CORPSE_NOTIFY –