Мне интересно узнать, какие функции Core Motion - Шагомер (CMPedometer
) поддерживаются в каких моделях iPhone.
В частности, меня интересуют значения bool
следующих свойств:
isCadenceAvailable()
isStepCountingAvailable()
isPaceAvailable()
isDistanceAvailable()
isPedometerEventTrackingAvailable()
isFloorCountingAvailable()
У меня есть доступ к iPhone SE и 5 с.На этих моделях я получил следующий ответ:
5с
isCadenceAvailable: false
isStepCountingAvailable: true
isPaceAvailable: false
isDistanceAvailable: true
isPedometerEventTrackingAvailable: false
isFloorCountingAvailable: false
SE
isCadenceAvailable: true
isStepCountingAvailable: true
isPaceAvailable: true
isDistanceAvailable: true
isPedometerEventTrackingAvailable: true
isFloorCountingAvailable: false
Я быМне нравится, если другие участники могут представить информацию о других моделях iPhone: 6, 6, 7, 8, X, XR, XS, XS Макс.Я полагаю, что XR, XS и XS Max дадут те же результаты, что и 8 и X.
Также аналогичные результаты для моделей Apple Watch также приветствуются.Вот данные для
S0
isCadenceAvailable: true
isStepCountingAvailable: true
isPaceAvailable: true
isDistanceAvailable: true
isPedometerEventTrackingAvailable: true
isFloorCountingAvailable: false
Вот код для распечатки этого:
iOS
import UIKit
import CoreMotion
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("isCadenceAvailable: \(CMPedometer.isCadenceAvailable())")
print("isStepCountingAvailable: \(CMPedometer.isStepCountingAvailable())")
print("isPaceAvailable: \(CMPedometer.isPaceAvailable())")
print("isDistanceAvailable: \(CMPedometer.isDistanceAvailable())")
print("isPedometerEventTrackingAvailable: \(CMPedometer.isPedometerEventTrackingAvailable())")
print("isFloorCountingAvailable: \(CMPedometer.isFloorCountingAvailable())")
}
}
watchOS
import WatchKit
import Foundation
import CoreMotion
class InterfaceController: WKInterfaceController {
@IBOutlet var boolLabel: WKInterfaceLabel!
override func willActivate() {
super.willActivate()
let b1 = CMPedometer.isDistanceAvailable() ? "Y" : "N"
let b2 = CMPedometer.isStepCountingAvailable() ? "Y" : "N"
let b3 = CMPedometer.isCadenceAvailable() ? "Y" : "N"
let b4 = CMPedometer.isPaceAvailable() ? "Y" : "N"
let b5 = CMPedometer.isPedometerEventTrackingAvailable() ? "Y" : "N"
let b6 = CMPedometer.isFloorCountingAvailable() ? "Y" : "N"
let str = b1 + b2 + b3 + b4 + b5 + b6
boolLabel.setText(str)
}
}
Этот вопрос касается информации для других моделей iPhone и часов.К сожалению, проверка этого с помощью симулятора генерирует false для всех логических значений.Не стесняйтесь скопировать и вставить указанный выше код и запустить на своем устройстве, чтобы предоставить ответы.