Stworzyłem świeżą aplikację jednostronicową na iOS (w tym SwiftUI) z Xcode 11.1 i włączoną Mac Catalyst. Po uruchomieniu nowego projektu na komputerze Mac (oczywiście macOS 10.15) po dotknięciu okna raz pojawia się następujący błąd.
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
Uwaga: usunąłem również funkcję Sandbox, w przeciwnym razie pojawia się błąd związany z niemożnością pisania ApplicationAccessibilityEnabled
Czy ktoś wie, jak to rozwiązać?
accessibility
swiftui
maccatalyst
Lukas Kirner
źródło
źródło
Odpowiedzi:
O ile mi wiadomo, nie ma sposobu na pozbycie się tego błędu i nie ma takiej potrzeby; jest to coś nieodłącznego w SwiftUI. Występuje na iOS, iPadOS i (dlatego) Mac Catalyst, nawet w zupełnie nowym projekcie. Wydaje się, że nie szkodzi to nic innego, niż martwić nas, programistów.
Pracuję w SwiftUI przez ostatnie sześć miesięcy w pełnym wymiarze czasu nad aplikacją, która jest obecnie produkowana na iOS, iPadOS i MacOS (Catalyst).
This class 'SwiftUI.AccessibilityNode' is not a known serializable element
Błąd został tam od początku. Nie prześledziłem, że jest to źródłem jakiegokolwiek problemu w ciągu sześciu miesięcy rozwoju SwiftUI.Jeśli otworzysz Xcode, utwórz nowy projekt iOS z jednym widokiem i uruchom go bez zmian, wyświetli się „Witaj, świecie!”. Kliknij „Witaj, świecie!” a twoja konsola się zaloguje
[AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes
.Próbowałem dodać modyfikatory ułatwień dostępu, np .:
Błąd nadal jest rejestrowany po kliknięciu „Witaj, świecie!”.
Próbowałem również rozszerzyć,
SwiftUI.AccessibilityNode
aby uczynić go elementem możliwym do serializacji, np .:Xcode mówi
type SwiftUI.AccessibilityNode doesn't exist
.źródło
Jeśli uznasz je za irytujące, tak jak ja, możesz je uciszyć, jak wspomniano w tej odpowiedzi:
Ukryj dziwne niechciane dzienniki Xcode
źródło