iOS – 在设置>隐私>动作活动中启用动作活动
如果应用程序需要访问Motion Activity
数据,则会在安装时询问用户。 但是,如果用户不小心回答“否”,那么该应用程序将无法工作。
我正在寻找一种方法来检查运动活动是否启用,以便我可以提示用户启用,如果没有。
请有人指出我的方向正确的代码明智吗?
在Doc(谢谢)的信息之后,Apple似乎没有提供直接的方法来检查隐私中的“ Motion Activity
”状态。 我能够发现错误:
[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. }
苹果有一个示例项目 ,展示了如何检查和请求访问所有各种权限(包括Motion Activity)。 我build议你快速浏览一下 – 这很简单。
CMSensorRecorder
( doc链接 )是iOS 9的新增function, CMSensorRecorder
有一个类方法来检查您的应用程序是否授权Motion&Fitness:
- Switft
class func isAuthorizedForRecording() -> Bool
- Objective-C
+ (BOOL)isAuthorizedForRecording
iOS 11新增function,CMSSensorRecorder有一个名为authorizationStatus的静态方法来检索它。
+ (CMAuthorizationStatus)authorizationStatus;