首页 > 解决方案 > 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")
                }
            }
        }
    }

标签: swiftcmmotionmanager

解决方案


推荐阅读