我很想知道哪些iPhone型号支持哪些核心运动Pedometer(CMPedometer
(功能。
具体来说,我对以下属性的bool
值感兴趣:
isCadenceAvailable()
isStepCountingAvailable()
isPaceAvailable()
isDistanceAvailable()
isPedometerEventTrackingAvailable()
isFloorCountingAvailable()
我可以使用iPhone SE和5s。在这些模型上,我得到了以下回应:
5s
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,6s,7,8,X,XR,XS,XSMax
此外,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和手表型号的信息。不幸的是,通过Simulator进行检查会为所有布尔值生成false。请随意复制粘贴上述代码,并在您的设备上运行以提供答案。
我一直在问自己一个类似的问题,因此用一个简单的项目准备了一个repo,以帮助跟踪功能的可用性。
https://github.com/reggian/availability
我会逐渐填补缺失的数据,并添加其他在不同硬件上具有不同可用性的框架。
请随意投稿。