iOS - is Motion Activity Enabled in Settings > Privacy > Motion Activity

core-motion, ios

Solution

New in iOS 11, CMSSensorRecorder has a static method called authorizationStatus to retrieve it.

`+ (CMAuthorizationStatus)authorizationStatus;`

Problem

If an app requires access to `Motion Activity` data it asks the user at install. However if the user accidentally answers 'No', then the app will not work. I am looking for a way to check if the Motion Activity is enabled, so that I can prompt the user to enable if not. Can someone point me in the right direction code wise please? Following the info from Doc (Thank you), it seems that Apple do not provide a direct method to check the status of `Motion Activity` in Privacy. I was able to find out by picking up on the error:- ``` [stepCounter queryStepCountStartingFrom:[NSDate date] to:[NSDate date] toQueue:[NSOperationQueue mainQueue] withHandler:^(NSInteger numberOfSteps, NSError *error) { if (error != nil && error.code == CMErrorMotionActivityNotAuthorized) { // The app isn't authorized to use motion activity support. } ```

Original source