iphone - 有 WatchKit 传感器 API 吗?

标签 iphone watchkit apple-watch

是否有适用于 Apple Watch Kit 传感器(例如加速度计、心率监测器、触觉传感器)的 API?

我如何访问这些传感器?

最佳答案

WatchOS 2.0 的 Watchkit现已提供传感器数据(加速度计、心率监测器、触觉传感器)信息。

您可以在接下来的总共30分钟的演示中查看这些信息。如果您不想观看整个 session ,那么您可以直接跳到CoreMotionHealthKit 22-28 分钟之间的功能:

WatchKit for watchOS 2.0 Session in WWDC 2015

心率代码

https://developer.apple.com/library/prerelease/watchos/documentation/HealthKit/Reference/HKWorkout_Class/

加速度计代码

这是 WatchKit Extension 中加速度计的实现,我在 Watch Storyboard 上添加了三个标签(LabelXLabelYLabelZ) 。

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()
    }
}

关于iphone - 有 WatchKit 传感器 API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28716834/

相关文章:

ios - 如何在 presentTextInputControllerWithSuggestions 中自定义听写 View

ios - 在 WatchKit 中使用应用内购买功能来获得一目了然的功能和复杂功能

ios - 防止屏幕灯关闭 |在 watch 界面禁用 sleep 模式

iphone - 为什么我的 x 轴在 iPhone 上不显示核心图?

ios - 如何使用swift检查线程是否正在运行或完成

iphone - Android 的 viewDidLoad 和 viewDidAppear 等效

ios - 如何在 iPhone 应用程序和 Apple Watch 之间共享数据?

ios - 图像未显示在 Apple Watch 上

ios - 使用watch 2.0上传iOS应用会给ITC.apps.preReleaseBuild.errors.invalidBinary

ios - SKScene分配错误