---
title: xArbitraryCorrectedZVertical
framework: coremotion
role: symbol
role_heading: Type Property
path: coremotion/cmattitudereferenceframe/xarbitrarycorrectedzvertical
---

# xArbitraryCorrectedZVertical

A reference frame where the Z axis is vertical and has improved rotation accuracy, and the X axis points in an arbitrary direction in the horizontal plane.

## Declaration

```swift
static var xArbitraryCorrectedZVertical: CMAttitudeReferenceFrame { get }
```

## Mentioned in

Getting processed device-motion data

## Discussion

Discussion When you start the device-motion service, Core Motion uses the current device orientation to set the initial frame of reference. You might use this option when you don’t need to know the device’s attitude relative to true or magnetic north, and only track rotational changes over time. This option uses the magnetometer to improve long-term accuracy for the z axis (yaw) measurements. The device must have a magnetometer and that sensor must be available and calibrated. This option requires more CPU usage than the xArbitraryZVertical option. tip: Save the first reported attitude value, and compare it to new values to determine changes since the start of the service.

## See Also

### Getting the reference frames

- [xArbitraryZVertical](coremotion/cmattitudereferenceframe/xarbitraryzvertical.md)
- [xMagneticNorthZVertical](coremotion/cmattitudereferenceframe/xmagneticnorthzvertical.md)
- [xTrueNorthZVertical](coremotion/cmattitudereferenceframe/xtruenorthzvertical.md)
