有没有什么API可以用于Apple Watch Kit传感器,如加速计,心率监视器,触觉传感器?
如何访问这些传感器?
发布于 2015-06-23 01:10:52
传感器数据(加速计、心率监视器、触觉传感器)信息现在可以在Watchkit for watchOS 2.0中使用。
您可以在以下会话中查看此信息,该会话总共30分钟,您不想观看整个会话,然后您可以直接跳转到CoreMotion和HealthKit功能,这段时间在22-28分钟之间:
心率代码
加速度计代码
这是WatchKit扩展中加速度计的实现,我在观看故事板上添加了三个标签(LabelX、LabelY和LabelZ)。
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()
}
}发布于 2015-02-28 01:54:09
目前没有可用的选项来使用当前版本的WatchKit软件开发工具包访问Apple Watch的任何传感器。
https://stackoverflow.com/questions/28716834
复制相似问题