<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioSession/activate(options:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAudioSession(im)activateWithOptions:completionHandler:"
  },
  "title" : "activate(options:completionHandler:)"
}
-->

# activate(options:completionHandler:)

Activates an audio session asynchronously.

```
func activate(options: AVAudioSessionActivationOptions = [], completionHandler handler: @escaping @Sendable (Bool, (any Error)?) -> Void)
```

## Parameters

`options`

The options to apply when activating the session.

`handler`

The callback the system invokes when the operation completes.

## Discussion

Configure the session before activating it: call [`setCategory(_:mode:policy:options:)`](/documentation/AVFAudio/AVAudioSession/setCategory(_:mode:policy:options:)) to set the category and route sharing policy you need.

This method begins activating the audio session asynchronously. The system calls the completion handler as soon as the session has successfully activated or if the activation fails.

## Activate playback on watchOS

On watchOS, activating a session with the [`playback`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct/playback) category and the [`AVAudioSession.RouteSharingPolicy.longFormAudio`](/documentation/AVFAudio/AVAudioSession/RouteSharingPolicy-swift.enum/longFormAudio) or [`AVAudioSession.RouteSharingPolicy.longFormVideo`](/documentation/AVFAudio/AVAudioSession/RouteSharingPolicy-swift.enum/longFormVideo) route-sharing policy requires a Bluetooth output route. On supported Apple Watch models running watchOS 11.0 or later, the built-in speaker also satisfies this routing requirement.

The system selects a reachable route automatically when one is available. If no Bluetooth route is available, or when supported AirPods or Beats headphones are nearby:

- If the watch supports speaker playback, the system routes to the watch’s built-in speaker.
- If the watch does not support speaker playback, the system presents the route picker. If the user dismisses the picker without selecting a valid route, the system calls the completion handler with false.

The system only presents the audio route picker for the [`playback`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct/playback) category and [`longForm`](/documentation/AVFAudio/AVAudioSession/RouteSharingPolicy-swift.enum/longForm) route sharing policy. Use the [`activate(options:completionHandler:)`](/documentation/AVFAudio/AVAudioSession/activate(options:completionHandler:)) method instead of [`setActive(_:options:)`](/documentation/AVFAudio/AVAudioSession/setActive(_:options:)) to authorize other categories and sharing policies.

> Note: On watchOS, long-form audio can’t play through the built-in speaker while the watch is charging.

---

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)