<!--
{
  "availability" : [
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "WatchKit",
  "identifier" : "/documentation/WatchKit/WKInterfaceHMCamera",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "WatchKit"
    ],
    "preciseIdentifier" : "c:objc(cs)WKInterfaceHMCamera"
  },
  "title" : "WKInterfaceHMCamera"
}
-->

# WKInterfaceHMCamera

An interface element that displays either a video stream or a single snapshot from an IP camera connected to HomeKit.

```
class WKInterfaceHMCamera
```

## Overview

Do not subclass or create instances of this class yourself. Instead, define an outlet in your interface controller class and connect it to the corresponding object in your storyboard file. For example, to refer to a camera interface object in your interface, define a property with the following syntax in your interface controller class:

```swift
@IBOutlet weak var myCamera: WKInterfaceHMCamera!
```

During the initialization of your interface controller, WatchKit creates the camera interface object and assigns it to its associated outlet. At that point, you can use the camera interface object to change to the onscreen content.

The camera interface object in your Watch app must be connected to a [`WKInterfaceHMCamera`](/documentation/WatchKit/WKInterfaceHMCamera) outlet in your WatchKit extension for the camera to be visible in your watchOS app’s user interface.

## Topics

### Setting the Camera Source

[`setCameraSource(_:)`](/documentation/WatchKit/WKInterfaceHMCamera/setCameraSource(_:))

Set the HomeKit camera source displayed by this interface object.

### Initializing for SwiftUI

[`init()`](/documentation/WatchKit/WKInterfaceHMCamera/init())

Creates a camera for use in SwiftUI.



---

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)