One Logo Pool Ball
System · IOS API REFERENCE

SensorKit

Retrieve data and derived metrics from sensors on an iPhone, or paired Apple Watch.

127 types

437 callable entries

51 skipped

90% entry coverage

Generated from iOS SDK 27.1. Availability is shown on each declaration; permissions and entitlements still apply.

Types

SRAbsoluteTime

struct · iOS 14.0+

SRAccelerometerSensor

struct · iOS 27.0+

SRAccelerometerSensor.Sample

typealias · iOS 27.0+

SRAcousticSettings

class · iOS 26.0+

SRAcousticSettings.Accessibility

class · iOS 26.0+

SRAcousticSettings.Accessibility.BackgroundSounds

class · iOS 26.0+

SRAcousticSettings.Accessibility.BackgroundSounds.Name

enum · iOS 26.0+

SRAcousticSettings.Accessibility.HeadphoneAccommodations

class · iOS 26.0+

SRAcousticSettings.Accessibility.HeadphoneAccommodations.MediaEnhanceApplication

enum · iOS 26.0+

SRAcousticSettings.Accessibility.HeadphoneAccommodations.MediaEnhanceBoosting

enum · iOS 26.0+

SRAcousticSettings.Accessibility.HeadphoneAccommodations.MediaEnhanceTuning

enum · iOS 26.0+

SRAcousticSettings.MusicEQ

class · iOS 26.0+

SRAcousticSettings.SampleLifetime

enum · iOS 26.0+

SRAcousticSettingsSensor

struct · iOS 27.0+

SRAcousticSettingsSensor.Sample

typealias · iOS 27.0+

SRAmbientLightSample

class · iOS 14.0+

SRAmbientLightSample.Chromaticity

struct · iOS 14.0+

SRAmbientLightSample.SensorPlacement

enum · iOS 14.0+

SRAmbientLightSensor

struct · iOS 27.0+

SRAmbientLightSensor.Sample

typealias · iOS 27.0+

SRAmbientPressureSensor

struct · iOS 27.0+

SRAmbientPressureSensor.Sample

typealias · iOS 27.0+

SRAudioLevel

class · iOS 17.0+

SRAuthorizationStatus

enum · iOS 14.0+

SRDataSensor

protocol · iOS 27.0+

SRDeletionReason

enum · iOS 14.0+

SRDeletionRecord

class · iOS 14.0+

SRDevice

class · iOS 14.0+

SRDeviceUsageReport

class · iOS 14.0+

SRDeviceUsageReport.ApplicationUsage

class · iOS 14.0+

SRDeviceUsageReport.CategoryKey

struct

SRDeviceUsageReport.NotificationUsage

class · iOS 14.0+

SRDeviceUsageReport.NotificationUsage.Event

enum · iOS 14.0+

SRDeviceUsageReport.WebUsage

class · iOS 14.0+

SRDeviceUsageSensor

struct · iOS 27.0+

SRDeviceUsageSensor.Sample

typealias · iOS 27.0+

SRElectrocardiogramData

class · iOS 17.4+

SRElectrocardiogramData.Flags

struct · iOS 17.4+

SRElectrocardiogramSample

class · iOS 17.4+

SRElectrocardiogramSample.Lead

enum · iOS 17.4+

SRElectrocardiogramSensor

struct · iOS 27.0+

SRElectrocardiogramSensor.Sample

typealias · iOS 27.0+

SRElectrocardiogramSession

class · iOS 17.4+

SRElectrocardiogramSession.SessionGuidance

enum · iOS 17.4+

SRElectrocardiogramSession.State

enum · iOS 17.4+

SRError

struct · iOS 14.0+

SRError.Code

enum · iOS 14.0+

SRFaceMetrics

class · iOS 17.0+

SRFaceMetrics.Context

struct · iOS 17.0+

SRFaceMetricsExpression

class · iOS 17.0+

SRFaceMetricsSensor

struct · iOS 27.0+

SRFaceMetricsSensor.Sample

typealias · iOS 27.0+

SRFetchRequest

class · iOS 14.0+

SRFetchResponse

struct · iOS 27.0+

SRFetchResult

class · iOS 14.0+

SRHeadphoneMotionSensor

struct · iOS 27.0+

SRHeadphoneMotionSensor.Sample

typealias · iOS 27.0+

SRHeadphoneSettings

class · iOS 27.0+

SRHeadphoneSettings.AdaptiveAudioStrength

enum · iOS 27.0+

SRHeadphoneSettings.HearingAssistance

class · iOS 27.0+

SRHeadphoneSettings.ListeningMode

enum · iOS 27.0+

SRHeadphoneSettings.SettingEnablement

enum · iOS 27.0+

SRHeadphoneSettingsSensor

struct · iOS 27.0+

SRHeadphoneSettingsSensor.Sample

typealias · iOS 27.0+

SRHeartRateSensor

struct · iOS 27.0+

SRHeartRateSensor.Sample

typealias · iOS 27.0+

SRKeyboardMetrics

class · iOS 14.0+

SRKeyboardMetrics.ProbabilityMetric

class · iOS 14.0+

SRKeyboardMetrics.SentimentCategory

enum · iOS 15.0+

SRKeyboardMetricsSensor

struct · iOS 27.0+

SRKeyboardMetricsSensor.Sample

typealias · iOS 27.0+

SRMediaEvent

class · iOS 16.4+

SRMediaEventsSensor

struct · iOS 27.0+

SRMediaEventsSensor.Sample

typealias · iOS 27.0+

SRMediaEventType

enum · iOS 16.4+

SRMessagesUsageReport

class · iOS 14.0+

SRMessagesUsageSensor

struct · iOS 27.0+

SRMessagesUsageSensor.Sample

typealias · iOS 27.0+

SROdometerSensor

struct · iOS 27.0+

SROdometerSensor.Sample

typealias · iOS 27.0+

SROnWristStateSensor

struct · iOS 27.0+

SROnWristStateSensor.Sample

typealias · iOS 27.0+

SRPedometerDataSensor

struct · iOS 27.0+

SRPedometerDataSensor.Sample

typealias · iOS 27.0+

SRPhoneUsageReport

class · iOS 14.0+

SRPhoneUsageSensor

struct · iOS 27.0+

SRPhoneUsageSensor.Sample

typealias · iOS 27.0+

SRPhotoplethysmogramAccelerometerSample

class · iOS 17.4+

SRPhotoplethysmogramOpticalSample

class · iOS 17.4+

SRPhotoplethysmogramOpticalSample.Condition

struct · iOS 17.4+

SRPhotoplethysmogramOpticalSample.NoiseTerms

struct · iOS 17.4+

SRPhotoplethysmogramSample

class · iOS 17.4+

SRPhotoplethysmogramSample.Usage

struct · iOS 17.4+

SRPhotoplethysmogramSensor

struct · iOS 27.0+

SRPhotoplethysmogramSensor.Sample

typealias · iOS 27.0+

SRReader

class · iOS 27.0+

SRRotationRateSensor

struct · iOS 27.0+

SRRotationRateSensor.Sample

typealias · iOS 27.0+

SRSensor

struct · iOS 14.0+

SRSensorReader

class · iOS 13.0+ · Deprecated in iOS 27.0

SRSensorReaderDelegate

protocol · iOS 13.0+ · Deprecated in iOS 27.0

SRSiriSpeechMetricsSensor

struct · iOS 27.0+

SRSiriSpeechMetricsSensor.Sample

typealias · iOS 27.0+

SRSleepSession

class · iOS 26.0+

SRSleepSessionsSensor

struct · iOS 27.0+

SRSleepSessionsSensor.Sample

typealias · iOS 27.0+

SRSourceDevice

class · iOS 27.0+

SRSpeechExpression

class · iOS 17.0+

SRSpeechMetrics

class · iOS 17.0+

SRSpeechMetrics.SessionFlags

struct · iOS 17.0+

SRSupplementalCategory

class · iOS 16.4+

SRTelephonySpeechMetricsSensor

struct · iOS 27.0+

SRTelephonySpeechMetricsSensor.Sample

typealias · iOS 27.0+

SRTextInputSession

class · iOS 15.0+

SRTextInputSession.SessionType

enum · iOS 15.0+

SRVisit

class · iOS 14.0+

SRVisit.LocationCategory

enum · iOS 14.0+

SRVisitsSensor

struct · iOS 27.0+

SRVisitsSensor.Sample

typealias · iOS 27.0+

SRWristDetection

class · iOS 14.0+

SRWristDetection.CrownOrientation

enum · iOS 14.0+

SRWristDetection.WristLocation

enum · iOS 14.0+

SRWristTemperature

class · iOS 17.0+

SRWristTemperature.Condition

struct · iOS 17.0+

SRWristTemperatureSensor

struct · iOS 27.0+

SRWristTemperatureSensor.Sample

typealias · iOS 27.0+

SRWristTemperatureSession

class · iOS 17.0+

Functions and constants

get · iOS 14.0+

SRErrorDomain

TypeScript
const SRErrorDomain: string
Swift declaration
let SRErrorDomain: String
init · iOS 14.0+

init

TypeScript
static init(time: SRAbsoluteTime): _Foundation_NSDate
Swift declaration
convenience init(SRAbsoluteTime time: SRAbsoluteTime)
get · iOS 14.0+

srAbsoluteTime

TypeScript
get srAbsoluteTime(): SRAbsoluteTime
Swift declaration
var srAbsoluteTime: SRAbsoluteTime { get }
method · iOS 14.0+ · Deprecated in iOS 27.0

sr_sensorForDeletionRecordsFromSensor

TypeScript
sr_sensorForDeletionRecordsFromSensor(): (SRSensor) | null
Swift declaration
func sr_sensorForDeletionRecordsFromSensor() -> SRSensor?
get · iOS 14.0+

sample

TypeScript
get sample(): SDKHandle
Swift declaration
@NSCopying var sample: SampleType { get }
get · iOS 27.0+

sourceDevice

TypeScript
get sourceDevice(): (SRSourceDevice) | null
Swift declaration
var sourceDevice: SRSourceDevice? { get }
get · iOS 14.0+

timestamp

TypeScript
get timestamp(): SRAbsoluteTime
Swift declaration
var timestamp: SRAbsoluteTime { get }
init

init

TypeScript
static init(): SRKeyboardMetrics_ProbabilityMetric<_Foundation_Unit>
Swift declaration
init()
get · iOS 14.0+

distributionSampleValues

TypeScript
get distributionSampleValues(): Array<_Foundation_Measurement<_Foundation_Unit>>
Swift declaration
var distributionSampleValues: [Measurement<UnitType>] { get }
get · iOS 27.0+

sourceDevice

TypeScript
get sourceDevice(): (SRSourceDevice) | null
Swift declaration
var sourceDevice: SRSourceDevice? { get }

The source of the sample data. Represents the peripheral supplying data. Useful for distinguishing multiple source peripherals using a common device. Is nullable when no source information is available when providing sample data.

get · iOS 27.0+

sample

TypeScript
get sample(): SDKHandle
Swift declaration
var sample: Result<Sample, any Error> { get }

Retrieves the sensor-specific data sample contained in this response.

get · iOS 27.0+

timestamp

TypeScript
get timestamp(): SRAbsoluteTime
Swift declaration
var timestamp: SRAbsoluteTime { get }

Retrieves the timestamp when the sensor sample was written to the data store.

method · iOS 27.0+

stopRecording

TypeScript
stopRecording(): Promise<void>
Swift declaration
final func stopRecording() async throws

Stops recording sensor data. The reader must be authorized for the sensor for this to succeed. This stops recording on this device and any paired devices. Sensor recording will continue until the last interested reader has stopped recording. - Throws: An error if the stop operation fails ## Example ```swift do { try await reader.stopRecording() } catch { print("Failed to stop recording: \(error)") } ```

method · iOS 27.0+

startRecording

TypeScript
startRecording(): Promise<void>
Swift declaration
final func startRecording() async throws

Starts recording sensor data. The reader must be authorized for the sensor for this to succeed. This starts recording on this device and any paired devices. If other readers have already started the sensor recording this reader's interest in recording will be maintained. Other readers in other apps for the same sensor will not affect the recording status of this reader. - Throws: An error if recording cannot be started due to permissions, hardware limitations, or other system restrictions ## Example ```swift do { try await reader.startRecording() } catch { print("Failed to start recording: \(error)") } ```

get · iOS 27.0+

authorizationStatus

TypeScript
get authorizationStatus(): SRAuthorizationStatus
Swift declaration
final var authorizationStatus: SRAuthorizationStatus { get }

The current authorization status for accessing the sensor data. This observable property automatically updates when the user changes sensor permissions in system settings, allowing to react to authorization changes in real-time. - Returns: Current `SRAuthorizationStatus` indicating whether the app has permission to access the sensor data.

get · iOS 27.0+

devices

TypeScript
get devices(): Promise<Array<SRDevice>>
Swift declaration
final var devices: [SRDevice] { get async throws }

Returns device information for all devices that have stored data for the given sensor in SensorKit - Returns: An array of `SRDevice` objects representing available sensor devices - Throws: An error if the request failed ## Example ```swift do { let devices = try await reader.devices for device in devices { print("Device: \(device.name), Model: \(device.model)") } } catch { print("Failed to fetch devices: \(error)") } ```

Skipped declarations

51 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

SRReader.sensor

This declaration needs Swift generic type arguments. (no canonical witness for Sensor)

SRReader.init(sensor:)

This declaration needs Swift generic type arguments. (no canonical witness for Sensor)

SRReader.samples(matching:)

The iOS SDK compiler rejected this binding: 'some' types are only permitted in properties, subscripts, and functions

SRReader.deletionRecords(matching:)

The iOS SDK compiler rejected this binding: 'some' types are only permitted in properties, subscripts, and functions

SRDataSensor.ambientLight

Static protocol requirements cannot be called through an instance.

SRDataSensor.visits

Static protocol requirements cannot be called through an instance.

SRDataSensor.deviceUsage

Static protocol requirements cannot be called through an instance.

SRDataSensor.messagesUsage

Static protocol requirements cannot be called through an instance.

SRDataSensor.phoneUsage

Static protocol requirements cannot be called through an instance.

SRDataSensor.onWristState

Static protocol requirements cannot be called through an instance.

SRDataSensor.keyboardMetrics

Static protocol requirements cannot be called through an instance.

SRDataSensor.siriSpeechMetrics

Static protocol requirements cannot be called through an instance.

SRDataSensor.telephonySpeechMetrics

Static protocol requirements cannot be called through an instance.

SRDataSensor.mediaEvents

Static protocol requirements cannot be called through an instance.

SRDataSensor.wristTemperature

Static protocol requirements cannot be called through an instance.

SRDataSensor.faceMetrics

Static protocol requirements cannot be called through an instance.

SRDataSensor.acousticSettings

Static protocol requirements cannot be called through an instance.

SRDataSensor.sleepSessions

Static protocol requirements cannot be called through an instance.

SRDataSensor.pedometerData

Static protocol requirements cannot be called through an instance.

SRDataSensor.heartRate

Static protocol requirements cannot be called through an instance.

SRDataSensor.odometer

Static protocol requirements cannot be called through an instance.

SRDataSensor.rotationRate

Static protocol requirements cannot be called through an instance.

SRDataSensor.accelerometer

Static protocol requirements cannot be called through an instance.

SRDataSensor.ambientPressure

Static protocol requirements cannot be called through an instance.

SRDataSensor.electrocardiogram

Static protocol requirements cannot be called through an instance.

SRDataSensor.photoplethysmogram

Static protocol requirements cannot be called through an instance.

SRDataSensor.headphoneMotion

Static protocol requirements cannot be called through an instance.

SRDataSensor.headphoneSettings

Static protocol requirements cannot be called through an instance.

NSDate.init(SRAbsoluteTime:)

The iOS SDK compiler rejected this binding: 'init(SRAbsoluteTime:)' has been renamed to 'init(srAbsoluteTime:)'

SRAcousticSettings.init()

inherited init: clang: 'init' is unavailable