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

# INPreferences

The preferences and authorization related to using SiriKit.

```
class INPreferences
```

## Overview

Use the class methods of [`INPreferences`](/documentation/Intents/INPreferences) to perform tasks related to the use of SiriKit. An iOS app must request authorization to use SiriKit before Siri or Maps are allowed to call on its Intents extension to handle intents. To request authorization, call the [`requestSiriAuthorization(_:)`](/documentation/Intents/INPreferences/requestSiriAuthorization(_:)) method at some point during your app’s execution. The first time you call this method, the user is prompted to grant or deny authorization for your app. The user can change the authorization settings for your app later in the system settings. You can get your app’s current authorization status using the [`siriAuthorizationStatus()`](/documentation/Intents/INPreferences/siriAuthorizationStatus()) method.

## Topics

### Managing the App’s Authorization

[`class func requestSiriAuthorization((INSiriAuthorizationStatus) -> Void)`](/documentation/Intents/INPreferences/requestSiriAuthorization(_:))

Requests authorization to use Siri services.

[`class func siriAuthorizationStatus() -> INSiriAuthorizationStatus`](/documentation/Intents/INPreferences/siriAuthorizationStatus())

Returns the current authorization status of your app.

### Getting the Siri Language

[`class func siriLanguageCode() -> String`](/documentation/Intents/INPreferences/siriLanguageCode())

Returns the language that Siri uses to communicate with the user.

## Relationships

### Conforms To

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)