CmheadPhoneemotionManager работает в Mac Catalyst, но не в iOSIOS

Программируем под IOS
Ответить
Anonymous
 CmheadPhoneemotionManager работает в Mac Catalyst, но не в iOS

Сообщение Anonymous »

У меня есть этот простой код, который хорошо работает на Mac Catalyst, но не на iOS18+
и ios26.
Добавлено разрешение Privacy - Описание использования движения в info.plist . Используя Xcode 26.0.1, на Macos Tahoe 26.1 и подключенных AirPods 2. < /p>
Запуск кода Show Print ("----> Движение устройства доступно") < /code> и
print("----> Device motion started \(motion)") на Mac Catalyst.
Но я получаю только печатную передачу ("----> Доступно движение устройства") на ios18+. Сделайте этот код работать на iOS18+или некоторые объяснения
о том, почему он не работает на iOS. < /p>
import SwiftUI
import RealityKit
import CoreMotion

struct ContentView: View {
@State private var motionManager = MotionManager()

var body: some View {
if motionManager.attitude != nil {
Text("attitude != nil")
} else {
Text("no can do")
}
}
}

@Observable
class MotionManager {
private let manager = CMHeadphoneMotionManager()
var attitude: CMAttitude?

init() {
let status = CMHeadphoneMotionManager.authorizationStatus()
print("\n----> status: \(status)")
if manager.isDeviceMotionAvailable {
print("----> Device motion available")
manager.startDeviceMotionUpdates(to: .main) { motion, error in
print("----> Device motion started \(motion)")
guard let motion = motion, error == nil else { return }
self.attitude = motion.attitude
}
} else {
print("Device motion not available on this device")
}
}

deinit {
manager.stopDeviceMotionUpdates()
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... not-in-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»