- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 watchos2 上有一个智能 watch 应用程序。该应用程序始终有效,但现在启动时我立即收到此错误:
Lop_WatchKit_Extension[17535:7854201] *********** ERROR -[SPRemoteInterface _interfaceControllerClientIDForControllerID:] clientIdentifier for interfaceControllerID:447E0002 not found
我在 stackoverflow 上找到了一些主题,但没有解决问题。
最佳答案
就我而言,这是由于我的一个 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
具有 Controller 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)")
}
//...
}
此日志:
[Target.Classname: 0xYYYYYYYY] has the Interface Controller ID XXXXXXXX
一旦确定导致这些日志的 InterfaceController
,您就可以继续调试。
在你的情况下可能会有所不同,但在我的情况下,我在我的一个闭包中使用 self
创建了一个保留周期,其中需要一段时间才能找到,但我最终用 打破了保留周期>[弱 self ]
捕获。
基本上,当InterfaceController
尝试执行某些代码但它已经被释放时,就会出现错误日志。
我已经拥有的:
DispatchQueue.main.async {
self.doSomethingThatDoesSomethingAsync()
}
我修复了什么:
DispatchQueue.main.async { [weak self] in
self?.doSomethingThatDoesSomethingAsync()
}
关于ios - watch 应用程序启动时出现错误 clientIdentifier for interfaceControllerID not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610700/
我已经引用了这个帖子 Google Authentication Process ,这与我的问题并不完全相似,但我使用的代码是相似的。 using System; using DotNetOpenAu
我在 watchos2 上有一个智能 watch 应用程序。该应用程序始终有效,但现在启动时我立即收到此错误: Lop_WatchKit_Extension[17535:7854201] ******
我是一名优秀的程序员,十分优秀!