---
title: WKInterfaceDevice
framework: watchkit
role: symbol
role_heading: Class
path: watchkit/wkinterfacedevice
---

# WKInterfaceDevice

An object that provides information about the user’s Apple Watch.

## Declaration

```swift
class WKInterfaceDevice
```

## Overview

Overview You can use the information from WKInterfaceDevice  to make decisions about the content you display in your app. You can also use this object to play haptic feedback when your app is active. Do not subclass or create instances of this class yourself. Always call the current() class method to get the shared device object.

## Topics

### Accessing the Shared Device Object

- [current()](watchkit/wkinterfacedevice/current().md)

### Reading the Screen Information

- [screenBounds](watchkit/wkinterfacedevice/screenbounds.md)
- [screenScale](watchkit/wkinterfacedevice/screenscale.md)

### Reading the Device Settings

- [name](watchkit/wkinterfacedevice/name.md)
- [model](watchkit/wkinterfacedevice/model.md)
- [localizedModel](watchkit/wkinterfacedevice/localizedmodel.md)
- [wristLocation](watchkit/wkinterfacedevice/wristlocation.md)
- [WKInterfaceDeviceWristLocation](watchkit/wkinterfacedevicewristlocation.md)
- [crownOrientation](watchkit/wkinterfacedevice/crownorientation.md)
- [WKInterfaceDeviceCrownOrientation](watchkit/wkinterfacedevicecrownorientation.md)
- [preferredContentSizeCategory](watchkit/wkinterfacedevice/preferredcontentsizecategory.md)

### Reading System Information

- [systemName](watchkit/wkinterfacedevice/systemname.md)
- [systemVersion](watchkit/wkinterfacedevice/systemversion.md)

### Accessing the Layout Direction

- [layoutDirection](watchkit/wkinterfacedevice/layoutdirection.md)
- [interfaceLayoutDirection(for:)](watchkit/wkinterfacedevice/interfacelayoutdirection(for:).md)
- [WKInterfaceSemanticContentAttribute](watchkit/wkinterfacesemanticcontentattribute.md)
- [WKInterfaceLayoutDirection](watchkit/wkinterfacelayoutdirection.md)

### Reading Information About the Battery

- [isBatteryMonitoringEnabled](watchkit/wkinterfacedevice/isbatterymonitoringenabled.md)
- [batteryLevel](watchkit/wkinterfacedevice/batterylevel.md)
- [batteryState](watchkit/wkinterfacedevice/batterystate.md)
- [WKInterfaceDeviceBatteryState](watchkit/wkinterfacedevicebatterystate.md)

### Accessing Water Resistance and Lock

- [waterResistanceRating](watchkit/wkinterfacedevice/waterresistancerating.md)
- [WKWaterResistanceRating](watchkit/wkwaterresistancerating.md)
- [isWaterLockEnabled](watchkit/wkinterfacedevice/iswaterlockenabled.md)
- [enableWaterLock()](watchkit/wkinterfacedevice/enablewaterlock().md)

### Playing Haptic Feedback

- [play(_:)](watchkit/wkinterfacedevice/play(_:).md)
- [WKHapticType](watchkit/wkhaptictype.md)

### Streaming Audio

- [supportsAudioStreaming](watchkit/wkinterfacedevice/supportsaudiostreaming.md)

### Validating In-App Purchases

- [identifierForVendor](watchkit/wkinterfacedevice/identifierforvendor.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### App structure

- [Setting up a watchOS project](watchos-apps/setting-up-a-watchos-project.md)
- [WKApplication](watchkit/wkapplication.md)
- [WKApplicationDelegate](watchkit/wkapplicationdelegate.md)
- [WKExtension](watchkit/wkextension.md)
- [WKExtensionDelegate](watchkit/wkextensiondelegate.md)
- [WKApplicationMain(_:_:_:)](watchkit/wkapplicationmain(_:_:_:).md)
- [WKPrefersNetworkUponForeground](bundleresources/information-property-list/wkprefersnetworkuponforeground.md)
