web-dev-qa-db-fra.com

Le catalyseur «SwiftUI.AccessibilityNode» n'est pas un élément sérialisable connu

J'ai créé une nouvelle application iOS Single Page (y compris SwiftUI) avec Xcode 11.1 et activé Mac Catalyst. Après avoir exécuté le nouveau projet sur mon Mac (macOS 10.15 bien sûr), j'obtiens les erreurs suivantes après avoir tapé une fois sur la fenêtre.

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

Remarque: j'ai également supprimé la fonctionnalité Sandbox, sinon j'obtiens une erreur de ne pas pouvoir écrire ApplicationAccessibilityEnabled

Quelqu'un sait-il comment résoudre ce problème?

18
Lukas Kirner

Pour autant que je sache, il n'y a aucun moyen de se débarrasser de cette erreur, et ce n'est pas nécessaire; c'est quelque chose d'inhérent à SwiftUI. Cela se produit sur iOS, iPadOS et (donc) Mac Catalyst, même dans un tout nouveau projet. Cela ne semble pas non plus faire de mal, à part nous inquiéter, développeurs.

Je travaille à SwiftUI depuis six mois à temps plein sur une application qui est maintenant en production et fonctionne sur iOS, iPadOS et MacOS (Catalyst). Le This class 'SwiftUI.AccessibilityNode' is not a known serializable element une erreur existe depuis le début. Je n'ai pas établi qu'il était à l'origine de tout problème en six mois de développement de SwiftUI.

Si vous ouvrez Xcode, créez un nouveau projet iOS à vue unique et exécutez-le sans modification, il affichera "Bonjour, monde!". Cliquez sur "Bonjour, monde!" et votre console se connectera [AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes.

J'ai essayé d'ajouter des modificateurs d'accessibilité, par exemple:

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

L'erreur est toujours enregistrée lorsque je clique sur "Bonjour tout le monde!".

J'ai également essayé d'étendre SwiftUI.AccessibilityNode pour en faire un élément sérialisable, par exemple:

import SwiftUI

extension SwiftUI.AccessibilityNode {
}

Xcode dit type SwiftUI.AccessibilityNode doesn't exist.

10
ggruen

Si vous les trouvez ennuyeux comme moi, vous pouvez les faire taire comme mentionné dans cette réponse:

Masquer les journaux Xcode étranges indésirables

0
djdrzzy