<!--
{
  "availability" : [
    "macOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "LocalAuthentication",
  "identifier" : "/documentation/LocalAuthentication/LocalAuthenticationView",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Local Authentication",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:28_LocalAuthentication_SwiftUI0aB4ViewV"
  },
  "title" : "LocalAuthenticationView"
}
-->

# LocalAuthenticationView

A SwiftUI view that displays an authentication interface.

```
@MainActor @preconcurrency struct LocalAuthenticationView<Label> where Label : View
```

## Overview

Use a [`LocalAuthenticationView`](/documentation/LocalAuthentication/LocalAuthenticationView) to display a view that prompts users to authenticate with the app. The view visually represents the state of an [`LAPolicy`](/documentation/LocalAuthentication/LAPolicy) evaluation from the [`Local Authentication`](/documentation/LocalAuthentication) framework.

The following shows a [`LocalAuthenticationView`](/documentation/LocalAuthentication/LocalAuthenticationView) in a Mac app with an implicit [`LAContext`](/documentation/LocalAuthentication/LAContext) instance:

```swift
var body: some View {
    LocalAuthenticationView(
        "Continue with Touch ID",
        reason: Text("Access sandcastle competition designs")
    ) { result in
        switch result {
        case .success:
            print("Authorized")
        case .failure(let error):
            print("Authorization failed: \(error)")
        }
    }
    .controlSize(.large)
}
```

If your app’s authorization flow reuses an existing [`LAContext`](/documentation/LocalAuthentication/LAContext), pass it as part of initializing a [`LocalAuthenticationView`](/documentation/LocalAuthentication/LocalAuthenticationView) and call its [`evaluatePolicy(_:localizedReason:reply:)`](/documentation/LocalAuthentication/LAContext/evaluatePolicy(_:localizedReason:reply:)) method after the view appears.

## Topics

### Authenticating with an implicit context

[`init(reason:context:result:label:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(reason:context:result:label:))

Creates a local authentication view.

[`init(_:reason:context:result:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(_:reason:context:result:)-8ubaq)

Creates a local authentication view with a title.

[`init(_:reason:context:result:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(_:reason:context:result:)-917ds)

Creates a local authentication view with a localizable title.

[`init(_:reason:context:result:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(_:reason:context:result:)-4pkpi)

Creates a local authentication view with a title text view.

### Authenticating with a context you supply

[`init(_:context:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(_:context:)-9xeoo)

Creates a local authentication view with a required context.

[`init(context:label:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(context:label:))

Creates a local authentication view with a label and required context.

[`init(_:context:)`](/documentation/LocalAuthentication/LocalAuthenticationView/init(_:context:)-676qx)

Creates a local authentication view with a localizable title and required context.

### Instance Methods



---

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)