2017-01-15 14 views
0

私はiPhoneを動かすことで睡眠を追跡するアプリを作っています。私はどこからでも検索しましたが、これからデータを取得する方法はたくさんありますが、それ以外の方法はありません。ここに私のコードです。Accelerometer、Gyro、DeviceMotionから値を取得できません

func startManager() { 
    let manager = CMMotionManager() 
    manager.startAccelerometerUpdates() 
    let accelerometer = manager.accelerometerData 
} 

ただし、manager.accelerometerDataはnilです。私もDeviceMotion、Gyro、UserAccelerationで試してみました。私もこれを試しました。

print(manager.isAccelerometerActive) 

それはので、私はこれが問題だと思うが、私はまだそれをアクティブにすることはできませんを印刷。

私はをマネージャに= CMMotionManager()を入れてみましたが、それでも動作しません。

私はのmanager.startAccelerometerUpdates()をViewDidLoadに入れても、まだ動作しませんでした。

これもまた別の方法を試しました。

manager.startAccelerometerUpdates(to: OperationQueue.main) { (data : CMAccelerometerData, error : Error) in 
     print(data) 
    } 

しかし、それは私にを追加する必要があると言ったエラーを出しました! CMAccelerometerHandlerしかし、私はそれをもう一度追加するように言わせていただきました。

私はXCodeの8.2.1にスウィフト3を使用してこれを行うと、iPhone上でそれをテストしてい

(私はCoreMotionをインポート)y、zの

、xと加速度計からの生の値を取得したいです6秒。

答えて

0

Swift3では、ハンドラ内でオプションのパラメータを使用する必要があります

motionManager.startAccelerometerUpdates(
    to: OperationQueue.main , 
    withHandler:{ (data : CMAccelerometerData?, error : Error?) in 
     print(data) 
}) 
関連する問題