<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMotion",
  "identifier" : "/documentation/CoreMotion/CMMotionManager/attitudeReferenceFrame",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Motion"
    ],
    "preciseIdentifier" : "c:objc(cs)CMMotionManager(py)attitudeReferenceFrame"
  },
  "title" : "attitudeReferenceFrame"
}
-->

# attitudeReferenceFrame

Returns either the reference frame currently being used or the default attitude reference frame.

```
var attitudeReferenceFrame: CMAttitudeReferenceFrame { get }
```

## Discussion

If the device-motion service is active, this property returns the reference frame currently in use. If the service is inactive, but your app started it at some point since launch, this property contains the last reference frame you used. If you haven’t started the device-motion service since app launch, this property returns the default frame of reference, which is [`xArbitraryZVertical`](/documentation/CoreMotion/CMAttitudeReferenceFrame/xArbitraryZVertical).

If device motion is not available on the current device, the value of this property is undefined.

## See Also

[`deviceMotionAvailable`](/documentation/CoreMotion/CMMotionManager/isDeviceMotionAvailable)

A Boolean value that indicates whether the device-motion service is available on the device.



---

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)