{"abstract":[{"text":"An object that starts and manages headphone motion services.","type":"text"}],"hierarchy":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion"]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager"},"kind":"symbol","legalNotices":{"copyright":"Copyright &copy; 2026 Apple Inc. All rights reserved.","privacyPolicy":"https:\/\/www.apple.com\/privacy\/privacy-policy","termsOfUse":"https:\/\/www.apple.com\/legal\/internet-services\/terms\/site.html"},"metadata":{"availableLanguages":["de-DE","en-US","es-419","fr-FR","it-IT","ja-JP","ko-KR","pt-BR","zh-CN"],"externalID":"c:objc(cs)CMHeadphoneMotionManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMHeadphoneMotionManager"}],"modules":[{"name":"Core Motion"}],"navigatorTitle":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}],"platforms":[{"introducedAt":"14.0","name":"iOS"},{"introducedAt":"14.0","name":"iPadOS"},{"introducedAt":"14.0","name":"Mac Catalyst"},{"introducedAt":"14.0","name":"macOS"},{"introducedAt":"7.0","name":"watchOS"}],"role":"symbol","roleHeading":"Class","symbolKind":"class","title":"CMHeadphoneMotionManager"},"primaryContentSections":[{"declarations":[{"languages":["swift"],"platforms":["iOS","iPadOS","Mac Catalyst","macOS","watchOS"],"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMHeadphoneMotionManager"}]}],"kind":"declarations"},{"kind":"mentions","mentions":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/getting-processed-device-motion-data"]},{"content":[{"anchor":"overview","level":2,"text":"Overview","type":"heading"},{"inlineContent":[{"text":"This class delivers headphone motion updates to your app. Use an instance of the manager to determine if the device supports motion, and to start and stop updates. Adopt the ","type":"text"},{"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManagerDelegate","isActive":true,"type":"reference"},{"text":" protocol to receive and respond to motion updates. Before using this class, check ","type":"text"},{"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionAvailable","isActive":true,"type":"reference"},{"text":" to make sure the feature is available.","type":"text"}],"type":"paragraph"},{"content":[{"inlineContent":[{"text":"","type":"text"},{"text":" ","type":"text"},{"text":"In iOS and macOS, include the ","type":"text"},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/BundleResources\/Information-Property-List\/NSMotionUsageDescription","isActive":true,"type":"reference"},{"text":" key in your app’s ","type":"text"},{"code":"Info.plist","type":"codeVoice"},{"text":" file. If this key is absent, the system crashes your app when you start device-motion updates.","type":"text"}],"type":"paragraph"}],"name":"Important","style":"important","type":"aside"},{"anchor":"Identify-the-coordinate-axes","level":3,"text":"Identify the coordinate axes","type":"heading"},{"inlineContent":[{"text":"To interpret attitude data, you need to know the orientation of the device’s coordinate axes. The following illustration shows the positive x-axis, positive y-axis, and positive z-axis for motion-capable Apple headphones.","type":"text"}],"type":"paragraph"},{"inlineContent":[{"identifier":"media-4302074","type":"image"}],"type":"paragraph"}],"kind":"content"}],"relationshipsSections":[{"identifiers":["doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObject-swift.class"],"kind":"relationships","title":"Inherits From","type":"inheritsFrom"},{"identifiers":["doc:\/\/com.apple.documentation\/documentation\/Swift\/CVarArg","doc:\/\/com.apple.documentation\/documentation\/Swift\/CustomDebugStringConvertible","doc:\/\/com.apple.documentation\/documentation\/Swift\/CustomStringConvertible","doc:\/\/com.apple.documentation\/documentation\/Swift\/Equatable","doc:\/\/com.apple.documentation\/documentation\/Swift\/Hashable","doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObjectProtocol"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"seeAlsoSections":[{"anchor":"Device-motion","generated":true,"identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/getting-processed-device-motion-data","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMDeviceMotion","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitude","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitudeReferenceFrame","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMBodyIdentifiable"],"title":"Device motion"}],"topicSections":[{"anchor":"Checking-Availability","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionAvailable","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionActive","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isConnectionStatusActive","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/authorizationStatus()"],"title":"Checking Availability"},{"anchor":"Starting-and-Stopping-Updates","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates(to:withHandler:)","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startConnectionStatusUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopDeviceMotionUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopConnectionStatusUpdates()"],"title":"Starting and Stopping Updates"},{"anchor":"Getting-the-Delegate","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/delegate","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManagerDelegate"],"title":"Getting the Delegate"},{"anchor":"Getting-Device-Motion-Information","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/deviceMotion"],"title":"Getting Device-Motion Information"}],"variants":[{"paths":["\/documentation\/coremotion\/cmheadphonemotionmanager"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/coremotion\/cmheadphonemotionmanager"],"traits":[{"interfaceLanguage":"occ"}]}],"references":{"doc://com.apple.coremotion/documentation/CoreMotion":{"abstract":[{"text":"Process accelerometer, gyroscope, pedometer, and environment-related events.","type":"text"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion","kind":"symbol","navigatorTitle":[{"kind":"text","text":"Core Motion"}],"role":"collection","title":"Core Motion","type":"topic","url":"\/documentation\/coremotion"},"doc://com.apple.coremotion/documentation/CoreMotion/CMAttitude":{"abstract":[{"text":"The device’s orientation relative to a known frame of reference at a point in time.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMAttitude"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitude","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMAttitude"}],"role":"symbol","title":"CMAttitude","type":"topic","url":"\/documentation\/coremotion\/cmattitude"},"doc://com.apple.coremotion/documentation/CoreMotion/CMAttitudeReferenceFrame":{"abstract":[{"text":"Constants that indicate the frame of reference for attitude-related motion data.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMAttitudeReferenceFrame"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitudeReferenceFrame","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMAttitudeReferenceFrame"}],"role":"symbol","title":"CMAttitudeReferenceFrame","type":"topic","url":"\/documentation\/coremotion\/cmattitudereferenceframe"},"doc://com.apple.coremotion/documentation/CoreMotion/CMBodyIdentifiable":{"abstract":[{"text":"A type that identifies a physical body or view for device-motion calculations.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMBodyIdentifiable"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMBodyIdentifiable","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMBodyIdentifiable"}],"role":"symbol","title":"CMBodyIdentifiable","type":"topic","url":"\/documentation\/coremotion\/cmbodyidentifiable"},"doc://com.apple.coremotion/documentation/CoreMotion/CMDeviceMotion":{"abstract":[{"text":"Encapsulated measurements of the attitude, rotation rate, and acceleration of a device.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMDeviceMotion"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMDeviceMotion","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMDeviceMotion"}],"role":"symbol","title":"CMDeviceMotion","type":"topic","url":"\/documentation\/coremotion\/cmdevicemotion"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager":{"abstract":[{"text":"An object that starts and manages headphone motion services.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMHeadphoneMotionManager"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}],"role":"symbol","title":"CMHeadphoneMotionManager","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/authorizationStatus()":{"abstract":[{"text":"Returns the authorization status for monitoring headphone motion.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"authorizationStatus"},{"kind":"text","text":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"c:@E@CMAuthorizationStatus","text":"CMAuthorizationStatus"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/authorizationStatus()","kind":"symbol","navigatorTitle":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"authorizationStatus"}],"role":"symbol","title":"authorizationStatus()","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/authorizationstatus()"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/delegate":{"abstract":[{"text":"The object that receives headphone motion manager events.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"delegate"},{"kind":"text","text":": (any "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(pl)CMHeadphoneMotionManagerDelegate","text":"CMHeadphoneMotionManagerDelegate"},{"kind":"text","text":")?"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/delegate","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"delegate"}],"role":"symbol","title":"delegate","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/delegate"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/deviceMotion":{"abstract":[{"text":"The latest device-motion data.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"deviceMotion"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)CMDeviceMotion","text":"CMDeviceMotion"},{"kind":"text","text":"?"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/deviceMotion","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"deviceMotion"}],"role":"symbol","title":"deviceMotion","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/devicemotion"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/isConnectionStatusActive":{"abstract":[],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isConnectionStatusActive"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","text":"Bool"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isConnectionStatusActive","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"connectionStatusActive"}],"role":"symbol","title":"isConnectionStatusActive","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/isconnectionstatusactive"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/isDeviceMotionActive":{"abstract":[{"text":"A Boolean value that indicates whether the headphone motion manager is active.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDeviceMotionActive"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","text":"Bool"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionActive","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"deviceMotionActive"}],"role":"symbol","title":"isDeviceMotionActive","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/isdevicemotionactive"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/isDeviceMotionAvailable":{"abstract":[{"text":"A Boolean value that indicates whether the current device supports the headphone motion manager.","type":"text"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDeviceMotionAvailable"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","text":"Bool"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionAvailable","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"deviceMotionAvailable"}],"role":"symbol","title":"isDeviceMotionAvailable","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/isdevicemotionavailable"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/startConnectionStatusUpdates()":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startConnectionStatusUpdates"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startConnectionStatusUpdates()","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startConnectionStatusUpdates"}],"role":"symbol","title":"startConnectionStatusUpdates()","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/startconnectionstatusupdates()"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/startDeviceMotionUpdates()":{"abstract":[{"text":"Starts device-motion updates.","type":"text"}],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startDeviceMotionUpdates"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates()","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startDeviceMotionUpdates"}],"role":"symbol","title":"startDeviceMotionUpdates()","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/startdevicemotionupdates()"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/startDeviceMotionUpdates(to:withHandler:)":{"abstract":[{"text":"Starts device-motion updates with a handler.","type":"text"}],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startDeviceMotionUpdates"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSOperationQueue","text":"OperationQueue"},{"kind":"text","text":", "},{"kind":"externalParam","text":"withHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)CMHeadphoneMotionManager","text":"CMHeadphoneMotionManager"},{"kind":"text","text":"."},{"kind":"typeIdentifier","preciseIdentifier":"c:@T@CMHeadphoneDeviceMotionHandler","text":"DeviceMotionHandler"},{"kind":"text","text":")"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates(to:withHandler:)","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startDeviceMotionUpdatesToQueue:withHandler:"}],"role":"symbol","title":"startDeviceMotionUpdates(to:withHandler:)","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/startdevicemotionupdates(to:withhandler:)"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/stopConnectionStatusUpdates()":{"abstract":[],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopConnectionStatusUpdates"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopConnectionStatusUpdates()","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"stopConnectionStatusUpdates"}],"role":"symbol","title":"stopConnectionStatusUpdates()","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/stopconnectionstatusupdates()"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManager/stopDeviceMotionUpdates()":{"abstract":[{"text":"Stops device-motion updates.","type":"text"}],"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopDeviceMotionUpdates"},{"kind":"text","text":"()"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopDeviceMotionUpdates()","kind":"symbol","navigatorTitle":[{"kind":"text","text":"- "},{"kind":"identifier","text":"stopDeviceMotionUpdates"}],"role":"symbol","title":"stopDeviceMotionUpdates()","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanager\/stopdevicemotionupdates()"},"doc://com.apple.coremotion/documentation/CoreMotion/CMHeadphoneMotionManagerDelegate":{"abstract":[{"text":"A set of methods that defines an interface for connecting and disconnecting headphones.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMHeadphoneMotionManagerDelegate"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManagerDelegate","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CMHeadphoneMotionManagerDelegate"}],"role":"symbol","title":"CMHeadphoneMotionManagerDelegate","type":"topic","url":"\/documentation\/coremotion\/cmheadphonemotionmanagerdelegate"},"doc://com.apple.coremotion/documentation/CoreMotion/getting-processed-device-motion-data":{"abstract":[{"text":"Retrieve motion data that the system processed to remove environmental bias, such as the effects of gravity.","type":"text"}],"identifier":"doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/getting-processed-device-motion-data","kind":"article","role":"article","title":"Getting processed device-motion data","type":"topic","url":"\/documentation\/coremotion\/getting-processed-device-motion-data"},"doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/NSMotionUsageDescription":{"abstract":[{"text":"A message that tells people why the app is requesting access to the device’s motion data.","type":"text"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/BundleResources\/Information-Property-List\/NSMotionUsageDescription","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"NSMotionUsageDescription"}],"role":"symbol","title":"NSMotionUsageDescription","type":"topic","url":"\/documentation\/bundleresources\/information-property-list\/nsmotionusagedescription"},"doc://com.apple.documentation/documentation/ObjectiveC/NSObject-swift.class":{"abstract":[{"text":"The root class of most Objective-C class hierarchies, from which subclasses inherit a basic interface to the runtime system and the ability to behave as Objective-C objects.","type":"text"}],"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"NSObject"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObject-swift.class","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"NSObject"}],"role":"symbol","title":"NSObject","type":"topic","url":"\/documentation\/objectivec\/nsobject-swift.class"},"doc://com.apple.documentation/documentation/ObjectiveC/NSObjectProtocol":{"abstract":[{"text":"The group of methods that are fundamental to all Objective-C objects.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"NSObjectProtocol"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObjectProtocol","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"NSObjectProtocol"}],"role":"symbol","title":"NSObjectProtocol","type":"topic","url":"\/documentation\/objectivec\/nsobjectprotocol"},"doc://com.apple.documentation/documentation/Swift/CVarArg":{"abstract":[{"text":"A type whose instances can be encoded, and appropriately passed, as","type":"text"},{"text":" ","type":"text"},{"text":"elements of a C ","type":"text"},{"code":"va_list","type":"codeVoice"},{"text":".","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"CVarArg"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/CVarArg","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CVarArg"}],"role":"symbol","title":"CVarArg","type":"topic","url":"\/documentation\/swift\/cvararg"},"doc://com.apple.documentation/documentation/Swift/CustomDebugStringConvertible":{"abstract":[{"text":"A type with a customized textual representation suitable for debugging","type":"text"},{"text":" ","type":"text"},{"text":"purposes.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"CustomDebugStringConvertible"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/CustomDebugStringConvertible","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CustomDebugStringConvertible"}],"role":"symbol","title":"CustomDebugStringConvertible","type":"topic","url":"\/documentation\/swift\/customdebugstringconvertible"},"doc://com.apple.documentation/documentation/Swift/CustomStringConvertible":{"abstract":[{"text":"A type with a customized textual representation.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"CustomStringConvertible"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/CustomStringConvertible","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"CustomStringConvertible"}],"role":"symbol","title":"CustomStringConvertible","type":"topic","url":"\/documentation\/swift\/customstringconvertible"},"doc://com.apple.documentation/documentation/Swift/Equatable":{"abstract":[{"text":"A type that can be compared for value equality.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"Equatable"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/Equatable","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Equatable"}],"role":"symbol","title":"Equatable","type":"topic","url":"\/documentation\/swift\/equatable"},"doc://com.apple.documentation/documentation/Swift/Hashable":{"abstract":[{"text":"A type that can be hashed into a ","type":"text"},{"code":"Hasher","type":"codeVoice"},{"text":" to produce an integer hash value.","type":"text"}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"Hashable"}],"identifier":"doc:\/\/com.apple.documentation\/documentation\/Swift\/Hashable","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Hashable"}],"role":"symbol","title":"Hashable","type":"topic","url":"\/documentation\/swift\/hashable"},"doc://com.apple.documentation/documentation/technologies":{"abstract":[],"identifier":"doc:\/\/com.apple.documentation\/documentation\/technologies","kind":"technologies","role":"overview","title":"Technologies","type":"topic","url":"\/documentation\/technologies"},"media-4302074":{"alt":"An illustration showing AirPods Max and AirPods Pro with labels representing the positive x-axis, positive y-axis, and positive z-axis on each device.","identifier":"media-4302074","type":"image","variants":[{"traits":["2x","light"],"url":"\/images\/com.apple.coremotion\/media-4302074@2x.png"},{"traits":["2x","dark"],"url":"\/images\/com.apple.coremotion\/media-4302074~dark@2x.png"}]}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/metadata\/platforms","value":[{"introducedAt":"14.0","name":"iOS"},{"introducedAt":"14.0","name":"iPadOS"},{"introducedAt":"14.0","name":"Mac Catalyst"},{"introducedAt":"14.0","name":"macOS"},{"introducedAt":"7.0","name":"watchOS"}]},{"op":"replace","path":"\/metadata\/roleHeading","value":"Class"},{"op":"replace","path":"\/metadata\/title","value":"CMHeadphoneMotionManager"},{"op":"replace","path":"\/metadata\/symbolKind","value":"class"},{"op":"replace","path":"\/metadata\/fragments","value":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}]},{"op":"replace","path":"\/metadata\/navigatorTitle","value":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}]},{"op":"replace","path":"\/hierarchy","value":{"paths":[["doc:\/\/com.apple.documentation\/documentation\/technologies","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion"]]}},{"op":"replace","path":"\/topicSections","value":[{"anchor":"Checking-Availability","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionAvailable","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isDeviceMotionActive","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/isConnectionStatusActive","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/authorizationStatus()"],"title":"Checking Availability"},{"anchor":"Starting-and-Stopping-Updates","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startDeviceMotionUpdates(to:withHandler:)","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/startConnectionStatusUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopDeviceMotionUpdates()","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/stopConnectionStatusUpdates()"],"title":"Starting and Stopping Updates"},{"anchor":"Getting-the-Delegate","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/delegate","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManagerDelegate"],"title":"Getting the Delegate"},{"anchor":"Getting-Device-Motion-Information","identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMHeadphoneMotionManager\/deviceMotion"],"title":"Getting Device-Motion Information"}]},{"op":"replace","path":"\/relationshipsSections","value":[{"identifiers":["doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObject-swift.class"],"kind":"relationships","title":"Inherits From","type":"inheritsFrom"}]},{"op":"replace","path":"\/seeAlsoSections","value":[{"anchor":"Device-motion","generated":true,"identifiers":["doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/getting-processed-device-motion-data","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMDeviceMotion","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitude","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMAttitudeReferenceFrame","doc:\/\/com.apple.coremotion\/documentation\/CoreMotion\/CMBodyIdentifiable"],"title":"Device motion"}]},{"op":"replace","path":"\/primaryContentSections\/0","value":{"declarations":[{"languages":["occ"],"platforms":["iOS","iPadOS","Mac Catalyst","macOS","visionOS","watchOS"],"tokens":[{"kind":"keyword","text":"@interface"},{"kind":"text","text":" "},{"kind":"identifier","text":"CMHeadphoneMotionManager"},{"kind":"text","text":" : "},{"identifier":"doc:\/\/com.apple.documentation\/documentation\/ObjectiveC\/NSObject-swift.class","kind":"typeIdentifier","preciseIdentifier":"c:objc(cs)NSObject","text":"NSObject"}]}],"kind":"declarations"}},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitude\/title","value":"CMAttitude"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitude\/fragments","value":[{"kind":"identifier","text":"CMAttitude"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitude\/navigatorTitle","value":[{"kind":"identifier","text":"CMAttitude"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitudeReferenceFrame\/title","value":"CMAttitudeReferenceFrame"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitudeReferenceFrame\/fragments","value":[{"kind":"identifier","text":"CMAttitudeReferenceFrame"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMAttitudeReferenceFrame\/navigatorTitle","value":[{"kind":"identifier","text":"CMAttitudeReferenceFrame"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMBodyIdentifiable\/title","value":"CMBodyIdentifiable"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMBodyIdentifiable\/fragments","value":[{"kind":"identifier","text":"CMBodyIdentifiable"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMBodyIdentifiable\/navigatorTitle","value":[{"kind":"identifier","text":"CMBodyIdentifiable"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMDeviceMotion\/title","value":"CMDeviceMotion"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMDeviceMotion\/fragments","value":[{"kind":"identifier","text":"CMDeviceMotion"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMDeviceMotion\/navigatorTitle","value":[{"kind":"identifier","text":"CMDeviceMotion"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager\/title","value":"CMHeadphoneMotionManager"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager\/fragments","value":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager\/navigatorTitle","value":[{"kind":"identifier","text":"CMHeadphoneMotionManager"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1authorizationStatus()\/title","value":"authorizationStatus"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1authorizationStatus()\/fragments","value":[{"kind":"text","text":"+ "},{"kind":"identifier","text":"authorizationStatus"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1delegate\/title","value":"delegate"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1delegate\/fragments","value":[{"kind":"identifier","text":"delegate"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1deviceMotion\/title","value":"deviceMotion"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1deviceMotion\/fragments","value":[{"kind":"identifier","text":"deviceMotion"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isConnectionStatusActive\/title","value":"connectionStatusActive"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isConnectionStatusActive\/fragments","value":[{"kind":"identifier","text":"connectionStatusActive"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isDeviceMotionActive\/title","value":"deviceMotionActive"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isDeviceMotionActive\/fragments","value":[{"kind":"identifier","text":"deviceMotionActive"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isDeviceMotionAvailable\/title","value":"deviceMotionAvailable"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1isDeviceMotionAvailable\/fragments","value":[{"kind":"identifier","text":"deviceMotionAvailable"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startConnectionStatusUpdates()\/title","value":"startConnectionStatusUpdates"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startConnectionStatusUpdates()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startConnectionStatusUpdates"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startDeviceMotionUpdates()\/title","value":"startDeviceMotionUpdates"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startDeviceMotionUpdates()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startDeviceMotionUpdates"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startDeviceMotionUpdates(to:withHandler:)\/title","value":"startDeviceMotionUpdatesToQueue:withHandler:"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1startDeviceMotionUpdates(to:withHandler:)\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"startDeviceMotionUpdatesToQueue:withHandler:"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1stopConnectionStatusUpdates()\/title","value":"stopConnectionStatusUpdates"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1stopConnectionStatusUpdates()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"stopConnectionStatusUpdates"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1stopDeviceMotionUpdates()\/title","value":"stopDeviceMotionUpdates"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManager~1stopDeviceMotionUpdates()\/fragments","value":[{"kind":"text","text":"- "},{"kind":"identifier","text":"stopDeviceMotionUpdates"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManagerDelegate\/title","value":"CMHeadphoneMotionManagerDelegate"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManagerDelegate\/fragments","value":[{"kind":"identifier","text":"CMHeadphoneMotionManagerDelegate"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.coremotion~1documentation~1CoreMotion~1CMHeadphoneMotionManagerDelegate\/navigatorTitle","value":[{"kind":"identifier","text":"CMHeadphoneMotionManagerDelegate"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1ObjectiveC~1NSObject-swift.class\/fragments","value":[{"kind":"identifier","text":"NSObject"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1ObjectiveC~1NSObjectProtocol\/title","value":"NSObject"},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1ObjectiveC~1NSObjectProtocol\/fragments","value":[{"kind":"identifier","text":"NSObject"}]},{"op":"replace","path":"\/references\/doc:~1~1com.apple.documentation~1documentation~1ObjectiveC~1NSObjectProtocol\/navigatorTitle","value":[{"kind":"identifier","text":"NSObject"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}