Use true north for device orientation when available

This commit is contained in:
Ilya Laktyushin 2024-11-30 00:59:02 +04:00
parent 3778357baa
commit 4d7b522d2a

View File

@ -2246,7 +2246,11 @@ public final class WebAppController: ViewController, AttachmentContainable {
var effectiveIsAbsolute = false
let referenceFrame: CMAttitudeReferenceFrame
if absolute && CMMotionManager.availableAttitudeReferenceFrames().contains(.xMagneticNorthZVertical) {
if absolute && [.authorizedWhenInUse, .authorizedAlways].contains(CLLocationManager.authorizationStatus()) && CMMotionManager.availableAttitudeReferenceFrames().contains(.xTrueNorthZVertical) {
referenceFrame = .xTrueNorthZVertical
effectiveIsAbsolute = true
} else if absolute && CMMotionManager.availableAttitudeReferenceFrames().contains(.xMagneticNorthZVertical) {
referenceFrame = .xMagneticNorthZVertical
effectiveIsAbsolute = true
} else {