Xcode 11.1とMac Catalystを有効にして、新しいiOSシングルページアプリ(SwiftUIを含む)を作成しました。 Mac(もちろんmacOS 10.15)で新しいプロジェクトを実行した後、ウィンドウを1回タップすると、次のエラーが発生します。
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
を書き込めないというエラーが発生します
誰かがそれを解決する方法を知っていますか?
私の知る限り、そのエラーを取り除く方法はなく、必要もありません。これはSwiftUIに固有のものです。それは、まったく新しいプロジェクトであっても、iOS、iPadOS、および(したがって)Mac Catalystで発生します。また、開発者を心配する以外は何も害を与えていないようです。
私は過去6か月間フルタイムでSwiftUIで働いており、現在iOS、iPadOS、およびMacOS(Catalyst)で稼働しているアプリケーションで作業しています。 This class 'SwiftUI.AccessibilityNode' is not a known serializable element
最初からエラーが発生しています。 SwiftUI開発の6か月間、問題の原因であるとは追跡していません。
Xcodeを開き、新しいシングルビューiOSプロジェクトを作成し、変更せずに実行すると、「Hello、World!」と表示されます。 「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
。
私がそうであるようにあなたがそれらを不快に思うなら、あなたはこの回答で述べられているようにそれらを沈黙させることができます: