swift - CMMotionActivity startDate swift 是如何工作的?
问题描述
所以我正在迅速开发并试图找出设备静止的持续时间。我遇到了startDate
函数并试图打印它,但它给出了 5 小时后的时间和日期。例如,当地时间是现在2019-12-16 21:38:05
,它会打印2019-12-17 02:38:07
. 不确定我使用该功能的方式是否有问题,或者它只是没有我期望的功能。这是代码:
private let activityManager = CMMotionActivityManager()
func setUpActivityNotification(){
var timer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(updateActivity), userInfo: nil, repeats: true)
}
@objc func updateActivity(){
activityManager.startActivityUpdates(to: OperationQueue.main) {
(activity: CMMotionActivity?) in
guard let activity = activity else { return }
print(activity.startDate)
DispatchQueue.main.async {
if activity.walking {
print("Walking")
} else if activity.stationary {
print("Stationary")
}
}
}
}
解决方案
推荐阅读
- java - JSON 到地图
每个原始数据类型的转换 - java - 当我输入 url 字段时,我收到错误“远程 URL 测试失败:不支持协议 'git clone HTTPS'”
- javascript - 在 Javascript 或 JQuery 上,在运行 add/remove mousemove 事件时
- html - 如何覆盖来自多个媒体查询的css中的样式。?
- json.net - 是否可以将 [JsonIgnore] 设为默认值并仅注释我想要的属性?
- python - 子流程管道中断程序
- angular - 使用 Angular Gridster2 更新模型后组件不刷新
- php - Calendarlist 使用服务帐户返回空结果集
- new-operator - 多个时间框架同时具有 2 个超出参数的指标
- javascript - 返回与标签名称查询匹配的数组中的html标签名称