在我的情況下,這是由於一個保留週期在我的一個InterfaceController
。
如果您收到類似日誌:
[default] -[SPRemoteInterface _interfaceControllerClientIDForControllerID:]:0000: ComF: clientIdentifier for interfaceControllerID:XXXXXXXX not found
& /或...
[default] _SendRecordedValues:000: ComF:<-Plugin controller ID XXXXXXXX has no client identifier
首先,找出哪些InterfaceController
具有控制器ID XXXXXXXX
。
有這awake(withContext:)
override func awake(withContext context: Any?) {
//...
if let id = self.value(forKey: "_viewControllerID") as? NSString {
let strClassDescription = String(describing: self)
print("\(strClassDescription) has the Interface Controller ID \(id)")
}
//...
}
此日誌:一旦你確定了InterfaceController
造成這些日誌
[Target.Classname: 0xYYYYYYYY] has the Interface Controller ID XXXXXXXX
,您可以繼續調試。
你的情況可能有所不同,但在我的情況下,我在self
創建了一個保留週期,其中一個關閉期間需要一段時間才能找到,但我最終以[weak self]
捕獲打破了保留週期。
基本上,當InterfaceController
試圖執行某些代碼但已被釋放時,會顯示錯誤日誌。
我已經有了:
DispatchQueue.main.async {
self.doSomethingThatDoesSomethingAsync()
}
我定:
DispatchQueue.main.async { [weak self] in
self?.doSomethingThatDoesSomethingAsync()
}
模塊領域是對所有interfacecontrollers空。當我點擊它,然後按刪除(但它是空的),然後按,它仍然不會自動填充? – user1007522
你有什麼設置項目文件 - >觀看應用程序目標 - >生成設置 - >界面生成器故事板編譯器 - >默認模塊?我相信應該和InterfaceController中的一樣。 – tonik12
它填寫了該組的名稱,例如該組被稱爲X WatchKit應用程序,模塊是X_WatchKit_App,但它是哪個?我需要檢查別的東西嗎? – user1007522