我想知道哪种iPhone型号支持哪些Core Motion-计步器(CMPedometer
)功能。
我特别对以下属性的bool
值感兴趣:
isCadenceAvailable()
isStepCountingAvailable()
isPaceAvailable()
isDistanceAvailable()
isPedometerEventTrackingAvailable()
isFloorCountingAvailable()
我可以使用iPhone SE和5s。 在这些模型上,我得到以下响应:
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、6s,7、8,X,XR,XS和XS Max,我会很喜欢。我相信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。随时复制粘贴以上代码,然后在您的设备上运行以提供答案。
答案 0 :(得分:0)
我一直在问自己一个类似的问题,因此准备了一个带有简单项目的存储库,以帮助跟踪功能的可用性。
https://github.com/reggian/availability
我将逐步填写丢失的数据,并添加在不同硬件上具有不同可用性的其他框架。
请随时贡献力量。