<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIFocusDebugger",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIFocusDebugger"
  },
  "title" : "UIFocusDebugger"
}
-->

# UIFocusDebugger

A runtime object for debugging focus-related interactions.

```
@MainActor class UIFocusDebugger
```

## Overview

You do not use this class or its methods directly from your code. During a debugging session, you can call the methods of this class from the `lldb` debugger command line to obtain information about the current state of the focus system.

## Topics

### Getting help

[`help()`](/documentation/UIKit/UIFocusDebugger/help())

Returns information about how to use the commands of the debugger object.

### Getting focus information

[`status()`](/documentation/UIKit/UIFocusDebugger/status())

Returns the state of the focus system, including information about the currently focused item.

[`checkFocusability(for:)`](/documentation/UIKit/UIFocusDebugger/checkFocusability(for:))

Returns information about whether the item can become focused, including any known issues that would prevent the item from becoming focused.

[`focusGroups(for:)`](/documentation/UIKit/UIFocusDebugger/focusGroups(for:))

Returns the focus group hierarchy for the specified environment object.

[`preferredFocusEnvironments(for:)`](/documentation/UIKit/UIFocusDebugger/preferredFocusEnvironments(for:))

Returns the hierarchy of preferred focus environments for the specified environment object.

[`simulateFocusUpdateRequest(from:)`](/documentation/UIKit/UIFocusDebugger/simulateFocusUpdateRequest(from:))

Simulates a focus update request from the specified environment.

[`UIFocusDebuggerOutput`](/documentation/UIKit/UIFocusDebuggerOutput)

An interface for specifying output from a focus debugger object.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
