Catalyst 'SwiftUI.AccessibilityNode' bukan elemen serializable yang dikenal

20

Saya membuat Aplikasi Halaman Tunggal iOS yang baru (termasuk SwiftUI) dengan Xcode 11.1 dan mengaktifkan Mac Catalyst. Setelah menjalankan Project baru pada Mac saya (tentu saja macOS 10.15) saya mendapatkan kesalahan berikut setelah mengetuk sekali pada jendela.

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

Catatan: Saya juga menghapus kemampuan Sandbox kalau tidak saya tidak bisa menulis tentang kesalahan ApplicationAccessibilityEnabled

Adakah yang tahu bagaimana menyelesaikannya?

Lukas Kirner
sumber
1
Saya menemukan ini di Twitter twitter.com/steipete/status/1154677703100026880 sehingga tampaknya menjadi normal saat ini
Lukas Kirner
Utas twitter itu sepertinya tidak relevan.
drewster
Apakah Anda mengalami crash? Tepat setelah pesan tentang 'bukan elemen serializable yang dikenal' saya mendapatkan crash prasyarat.
drewster
Tidak ada crash sejauh ini
Lukas Kirner
Juga tidak ada crash tapi saya juga mendapatkan pesan ini di aplikasi saya
gurehbgui

Jawaban:

11

Sejauh yang saya tahu, tidak ada cara untuk menghilangkan kesalahan itu, dan tidak perlu; itu adalah sesuatu yang melekat dalam SwiftUI. Ini terjadi pada iOS, iPadOS, dan (karenanya) Mac Catalyst, bahkan dalam proyek baru. Sepertinya juga tidak ada salahnya, selain membuat kami khawatir para pengembang.

Saya telah bekerja di SwiftUI selama enam bulan terakhir penuh waktu pada sebuah aplikasi yang sekarang dalam produksi berjalan di iOS, iPadOS dan MacOS (Catalyst). The This class 'SwiftUI.AccessibilityNode' is not a known serializable elementkesalahan telah ada sejak awal. Saya belum melacaknya menjadi sumber masalah dalam enam bulan pengembangan SwiftUI.

Jika Anda membuka Xcode, membuat proyek iOS tampilan tunggal baru, dan menjalankannya tanpa perubahan, itu akan menampilkan "Halo, Dunia!". Klik "Halo, Dunia!" dan konsol Anda akan masuk [AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes.

Saya sudah mencoba menambahkan pengubah aksesibilitas, misalnya:

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
        .accessibility(hint: Text("Just say hi"))
        .accessibility(identifier: "helloWorld")
    }
}

Kesalahan masih dicatat ketika saya mengklik "Halo, Dunia!".

Saya juga telah mencoba memperluas SwiftUI.AccessibilityNodeuntuk menjadikannya elemen serializable, misalnya:

import SwiftUI

extension SwiftUI.AccessibilityNode {
}

Kata Xcode type SwiftUI.AccessibilityNode doesn't exist.

ggruen
sumber