我使用Privacy Prompts项目中的以下代码来获取动作权限。
- (void)requestMotionAccessData {
self.cmManager = [[CMMotionActivityManager alloc] init];
self.motionActivityQueue = [[NSOperationQueue alloc] init];
[self.cmManager startActivityUpdatesToQueue:self.motionActivityQueue withHandler:^(CMMotionActivity *activity) {
/*
* Do something with the activity reported
*/
NSLog(@"requestMotionAccessData");
[self alertViewWithDataClass:Motion status:NSLocalizedString(@"ALLOWED", @"")];
[self.cmManager stopActivityUpdates];
}];
}
如果用户不允许动作许可,该怎么办?我得到一些回调吗?
如果没有,是否有另一种方法来实现这一目标。当用户选择Allow
或Don't Allow
答案 0 :(得分:2)
你可以......选择错误:
[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.
}
从这里开始:iOS - is Motion Activity Enabled in Settings > Privacy > Motion Activity