Apple Watch中的陀螺仪和加速度计

Hix*_*eld 3 ios apple-watch watchkit

我喜欢将Apple Watch的陀螺仪和加速度计数据流式传输到IPhone配对应用程序(具有最高刷新率).没有接缝是用于访问数据的sdk?

cas*_*las 9

传感器数据信息现已可用于Watchkit for watchOS 2.0.

你可以查看下面的会议是总30分钟presentation.If你不想看整个会话信息,那么您可以直接跳转到CoreMotionHealthKit这是在22-28分钟之间的特点:

WatchKit for WWOS 2015中的watchOS 2.0 Session

这是WatchKit Extension中的实现,这里是参考.

import WatchKit
import Foundation
import CoreMotion

class InterfaceController: WKInterfaceController {


    @IBOutlet weak var labelX: WKInterfaceLabel!
    @IBOutlet weak var labelY: WKInterfaceLabel!
    @IBOutlet weak var labelZ: WKInterfaceLabel!
    let motionManager = CMMotionManager()


    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)

        motionManager.accelerometerUpdateInterval = 0.1
    }

    override func willActivate() {
        super.willActivate()

        if (motionManager.accelerometerAvailable == true) {
            let handler:CMAccelerometerHandler = {(data: CMAccelerometerData?, error: NSError?) -> Void in
                self.labelX.setText(String(format: "%.2f", data!.acceleration.x))
                self.labelY.setText(String(format: "%.2f", data!.acceleration.y))
                self.labelZ.setText(String(format: "%.2f", data!.acceleration.z))
            }
            motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: handler)
        }
        else {
            self.labelX.setText("not available")
            self.labelY.setText("not available")
            self.labelZ.setText("not available")
        }
    }

    override func didDeactivate() {
        super.didDeactivate()

        motionManager.stopAccelerometerUpdates()
    }
}
Run Code Online (Sandbox Code Playgroud)