Как запросить разрешения CMMotionActivityManager - PullRequest
1 голос
/ 15 октября 2019

В моем приложении есть функция, которая должна отслеживать активность пользователя. После прочтения документации Core Motion я обнаружил, что CMMotionActivityManager обрабатывает это для меня.

На данный момент у меня есть следующий код, который проверяет, есть ли у пользователя разрешения:

guard CMMotionActivityManager.isActivityAvailable() else {
    showErrorAlert(title: "Error", message: "Your phone don't support this functionality due to hardware limitation.")
    return
}

guard CMMotionActivityManager.authorizationStatus() == .authorized || CMMotionActivityManager.authorizationStatus() == .notDetermined else {
    showErrorAlert(title: "Error", message: "Motion's permission is required to run this functionality. Enable it in your phone settings.")
    return
}

activityManager.startActivityUpdates(to: OperationQueue.main) { [weak self] (activity: CMMotionActivity?) in
    self?.currentActivity = activity
}

В настоящее времяУ меня есть следующая проблема: activityManager.startActivityUpdates запрашивает разрешение в асинхронном режиме, однако у него нет обратного вызова или ошибки, когда пользователь не принимает разрешение.

Как мне обращаться со случаемчто пользователь не принимает разрешения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...