<!--
{
  "availability" : [
    "tvOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TVServices",
  "identifier" : "/documentation/TVServices/TVUserManager",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "TV Services"
    ],
    "preciseIdentifier" : "c:objc(cs)TVUserManager"
  },
  "title" : "TVUserManager"
}
-->

# TVUserManager

An object that indicates how to store preferences for multiple people on a shared device.

```
class TVUserManager
```

## Overview

Some apps rely on profiles to maintain separate information for each person who uses a shared device, such as a video content app that retains which shows they watch. To avoid interrupting people with a profile picker each time they launch your app, you can save and retrieve the current user’s selection on a shared device.

> Important:
> To create a ``doc://com.apple.tvservices/documentation/TVServices/TVUserManager`` object, add the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.user-management> capability to your app or app extension in Xcode, and select the Runs as Current User, Only When User-Independent Keychain is Available option. This enables the system to take care of separating each user’s data for your app.

To determine the current user’s profile, first check [`shouldStorePreferencesForCurrentUser`](/documentation/TVServices/TVUserManager/shouldStorePreferencesForCurrentUser). If that value is <doc://com.apple.documentation/documentation/Swift/false>, display the profile picker to determine which profile to use for the current session, but don’t save the selected profile. If the value is <doc://com.apple.documentation/documentation/Swift/true>, and there isn’t a saved profile in <doc://com.apple.documentation/documentation/Foundation/UserDefaults>, display the profile picker and save the selected profile for future use. If the value is <doc://com.apple.documentation/documentation/Swift/true> and there’s already a saved profile, skip the prompt and use the saved profile.

## Topics

### Retaining profile selection for the current Apple TV account

[`shouldStorePreferencesForCurrentUser`](/documentation/TVServices/TVUserManager/shouldStorePreferencesForCurrentUser)

A Boolean value that indicates whether your app needs to retain a selected profile.

### Deprecated symbols

[`currentUserIdentifier`](/documentation/TVServices/TVUserManager/currentUserIdentifier)

A unique identifier representing the currently active Apple TV user.

[`currentUserIdentifierDidChangeNotification`](/documentation/TVServices/TVUserManager/currentUserIdentifierDidChangeNotification)

The notification the system sends when a different user becomes current.

[`presentProfilePreferencePanel(currentSettings:availableProfiles:completion:)`](/documentation/TVServices/TVUserManager/presentProfilePreferencePanel(currentSettings:availableProfiles:completion:))

Presents a user-to-profile configuration panel, which lets the user specify their preferred profile.

[`shouldStorePreferenceForCurrentUser(to:completion:)`](/documentation/TVServices/TVUserManager/shouldStorePreferenceForCurrentUser(to:completion:))

Prompts the user to save the specified profile as the preferred profile for the current user.

[`TVAppProfileDescriptor`](/documentation/TVServices/TVAppProfileDescriptor)

A model object that you use to represent an app-specific profile.

[`TVUserIdentifier`](/documentation/TVServices/TVUserIdentifier)

A unique string for differentiating between accounts on Apple TV.

[`userIdentifiersForCurrentProfile`](/documentation/TVServices/TVUserManager/userIdentifiersForCurrentProfile)

An array of system user identifiers that you associated with the current app-specific profile.



---

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)