我用Xcode 11.1创建了一个新的iOS单页应用程序(包括SwiftUI)并启用了Mac Catalyst。在Mac(当然是macOS 10.15)上运行新的Project之后,在窗口上点击一次后,出现以下错误。
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
的错误
有人知道如何解决吗?
答案 0 :(得分:13)
据我所知,没有办法消除该错误,也没有必要;这是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
。
答案 1 :(得分:1)
如果您发现它们像我一样烦人,您可以按照此答案中的说明将它们静音: