Как использовать гироскоп в Swift - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь использовать предоставленный яблоками код в своем проекте для записи данных гироскопа в переменную, которую я могу использовать. В настоящее время это то, что я получил. Я не уверен, как скопировать гироскопические данные в переменную, которую я могу использовать вне этого класса или даже напечатать значение. Я не уверен, что это даже начинается. Любая помощь будет принята с благодарностью.

import Foundation
import UIKit
import CoreMotion


class ViewController : UIViewController {

    let motion = CMMotionManager()
    var timer = Timer()
    var GyroVar = 0
    var gyroData: CMGyroData?

    func startGyros() {
        if motion.isGyroAvailable {
            self.motion.gyroUpdateInterval = 1.0 / 60.0
            self.motion.startGyroUpdates()

            // Configure a timer to fetch the accelerometer data.

            self.timer = Timer(fire: Date(), interval: (1.0/60.0),

            repeats: true, block: { (timer) in
// Get the gyro data.
                if let data = self.motion.gyroData {
                    let x = data.rotationRate.x
                    let y = data.rotationRate.y
                    let z = data.rotationRate.z
                    print("gyro works")
            // Use the gyroscope data in your app.
                }
                print("outloop")
            })

      // Add the timer to the current run loop.
            RunLoop.current.add(self.timer, forMode: RunLoop.Mode.default)
        }
    }


    func stopGyros() {
        print("stop")
        if self.timer != nil {
            self.timer.invalidate()
            self.motion.stopGyroUpdates()
   }
}


}
...