Мне нравится, когда данные гироскопа и акселерометра Apple Watch передаются в сопряженное приложение для iPhone (с максимально возможной частотой обновления). Нет ли шва для доступа к данным?
Гироскоп и акселерометр в Apple Watch
Ответы (2)
Неа. В настоящее время WatchKit SDK не имеет доступа к оборудованию.
person
bgilham
schedule
04.04.2015
Ну это позор. Но в спецификациях аппаратного обеспечения сказано, что он содержит гироскоп и акселерометр, я полагаю... Странно, что API не существует... Тем не менее?
- person HixField; 04.04.2015
@HixField Предполагается, что эта функция появится в следующей версии WatchKit; прямо сейчас они пытаются упростить вещи, чтобы сократить время автономной работы.
- person AstroCB; 05.04.2015
@AstroCB Надеюсь :-) не имеет особого смысла включать поддержку hw без поддержки sw ...
- person HixField; 05.04.2015
Изменилось ли оно с момента появления watchos 2?
- person user784625; 13.06.2015
@ user784625, см. ответ ниже
- person casillas; 24.06.2015
Информация о данных датчиков теперь доступна в Watchkit for watchOS 2.0
.
Вы можете проверить эту информацию в следующем сеансе, который составляет всего 30 минут презентации. Если вы не хотите смотреть весь сеанс, вы сразу переходите к функциям CoreMotion
и HealthKit
, которые находятся между 22-28 минутами:
Сессия WatchKit для watchOS 2.0 на WWDC 2015
Вот реализация в расширении WatchKit, вот ссылка.
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()
}
}
person
casillas
schedule
22.06.2015
Спасибо, что процитировали мой код: github. com/shu223/watchOS-2-Sampler/blob/master/ Я был бы рад, если бы вы представили эту ссылку в качестве ссылки.
- person shu223; 13.08.2015
как вы можете видеть в коде shu233, гироскоп по-прежнему не работает.
- person joon; 25.11.2015