Debugging Focus Issues in Your App

Panther·2021년 8월 5일
0

https://developer.apple.com/documentation/uikit/focus-based_navigation/debugging_focus_issues_in_your_app

"Find errors and determine why the next focused item isn't what you expected."

오류를 찾아내고 왜 다음 초점이 맞춰니는 아이템이 기대한 바와 다른지를 확인합니다.

Overview

tvOS 앱에서 간접 컨트롤을 사용하는 경우 포커스가 바르게 작동하는 것은 필수적입니다. 포커스 문제를 발견하는 것을 돕고자 애플은 두 가지 디버깅 툴을 제공합니다. UIFocusLoggingEnabledUIFocusDebugger가 그 둘입니다.

Turn on Live Focus Logging

라이브 포커스 로깅을 켬으로써 포커스 엔진이 어떤 뷰를 현재 포커스로 맞추고 있는지를 확인할 수 있습니다. 사용자가 포커스를 움직일 때, 새 뷰가 포커스에 들어옴을 보여주면서 로그를 업데이트합니다.

Xcode 프로젝트에서 Edit Scheme을 선택하고, Arguments Passed On Launch 섹션에 UIFocusLoggingEnabled YES를 추가해야 합니다.

Figure 1 Adding the UIFocusLoggingEnabled argument

launch 시점에 모든 포커스 이벤트는 로그를 남기고 Xcode 콘솔 및 Consol.app에 표시됩니다. 로그는 앱에서 포커스가 변경될 때 업데이트됩니다.

Figure 2 Focus debugging logs

Find Focus Issues Using UIFocusDebugger

UIFocusDebugger 클래스는 포커스 이슈를 찾는 데 도움을 주는 몇 가지 메소드를 포함하고 있습니다. 코드에서 이 클래스 혹은 이 클래스의 메소드를 직접 사용하지 않아야 합니다. 대신 디버깅 세션 동안 포커스 시스템의 상태에 대한 정보를 얻기 위해 LLDB 디버거 커맨드 라인으로부터 이 클래스의 메소드를 호출해야 합니다. 예를 들어 po UIFocusDebugger.status()는 포커스 엔진의 상태를 반환합니다.

See Also


Debugging Support

UIFocusDebugger

포커스 관련 상호작용 디버깅을 위한 런타임 객체입니다.

https://developer.apple.com/documentation/uikit/uifocusdebugger
https://velog.io/@panther222128/UIFocusDebugger


0개의 댓글