Catalyst 'SwiftUI.AccessibilityNode' 不是已知的可序列化元素
Posted
技术标签:
【中文标题】Catalyst \'SwiftUI.AccessibilityNode\' 不是已知的可序列化元素【英文标题】:Catalyst 'SwiftUI.AccessibilityNode' is not a known serializable elementCatalyst 'SwiftUI.AccessibilityNode' 不是已知的可序列化元素 【发布时间】:2020-02-15 08:56:51 【问题描述】:我使用 Xcode 11.1 创建了一个全新的 ios 单页应用程序(包括 SwiftUI)并启用了 Mac Catalyst。在我的 Mac(当然是 macOS 10.15)上运行新项目后,在窗口上点击一次后出现以下错误。
2019-10-18 12:59:48.479186+0200 test[3130:122148] Metal API Validation Enabled
2019-10-18 12:59:50.960734+0200 test[3130:122148] [AXRuntimeCommon] Unknown client: test
2019-10-18 12:59:50.962261+0200 test[3130:122148] [AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes
2019-10-18 12:59:51.313 test[3130:122148] **************_____________**************AXError: AVPlayerView is not a kind of NSView
1 AccessibilityBundles 0x00007fff42ee3b69 _AXBValidationCheckIsKindOfClass + 201
2019-10-18 12:59:51.386 test[3130:122148] **************_____________**************AXError: MKStarRatingView is not a kind of NSView
1 AccessibilityBundles 0x00007fff42ee3b69 _AXBValidationCheckIsKindOfClass + 201
注意:我还删除了沙盒功能,否则我会收到关于无法写入 ApplicationAccessibilityEnabled
的错误
有人知道怎么解决吗?
【问题讨论】:
我在 Twitter twitter.com/steipete/status/1154677703100026880 上发现了这个,所以目前看起来很正常 该推特帖子似乎不相关。 您遇到崩溃了吗?在关于“不是已知的可序列化元素”的消息之后,我遇到了先决条件崩溃。 目前没有崩溃 也没有崩溃,但我的应用程序中也收到了这条消息 【参考方案1】:如果您发现它们像我一样烦人,您可以按照此答案中的说明将它们静音:
Hide strange unwanted Xcode logs
【讨论】:
警告:这会消除所有警告。不推荐。【参考方案2】:据我所知,没有办法消除该错误,也没有必要;这是 SwiftUI 中固有的东西。它出现在 iOS、iPadOS 和(因此)Mac Catalyst 上,甚至出现在一个全新的项目中。除了让我们开发人员担心之外,它似乎也没有伤害任何东西。
在过去的六个月里,我一直在 SwiftUI 中全职工作,开发一个现在在 iOS、iPadOS 和 MacOS (Catalyst) 上运行的应用程序。 This class 'SwiftUI.AccessibilityNode' is not a known serializable element
错误从一开始就存在。在六个月的 SwiftUI 开发中,我没有发现它是任何问题的根源。
如果您打开 Xcode,创建一个新的单视图 iOS 项目,然后不加更改地运行它,它会显示“Hello, World!”。点击“你好,世界!”你的控制台将记录[AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes
。
我尝试添加可访问性修饰符,例如:
struct ContentView: View
var body: some View
Text("Hello, World!")
.accessibility(hint: Text("Just say hi"))
.accessibility(identifier: "helloWorld")
当我点击“Hello, World!”时,仍然会记录错误。
我还尝试扩展 SwiftUI.AccessibilityNode
以使其成为可序列化的元素,例如:
import SwiftUI
extension SwiftUI.AccessibilityNode
Xcode 说type SwiftUI.AccessibilityNode doesn't exist
。
【讨论】:
以上是关于Catalyst 'SwiftUI.AccessibilityNode' 不是已知的可序列化元素的主要内容,如果未能解决你的问题,请参考以下文章