gpt4 book ai didi

ios - watch 应用程序启动时出现错误 clientIdentifier for interfaceControllerID not found

转载 作者:行者123 更新时间:2023-12-02 11:46:19 24 4
gpt4 key购买 nike

我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com