如何再次请求 CoreMotion 许可?

Posted

技术标签:

【中文标题】如何再次请求 CoreMotion 许可?【英文标题】:How to ask for CoreMotion permission again? 【发布时间】:2017-08-21 08:02:39 【问题描述】:

在 Info.plist 中添加“Privacy - Motion Usage Description”后

我运行了它,它成功了,甚至在第一次运行时请求了许可,但我拒绝了许可,现在我被卡住了,因为我无法找到如何再次弹出许可警报。

- (void) viewDidLoad 
    [super viewDidLoad];
    [self.pedometer startPedometerUpdatesFromDate:[NSDate date] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) 
        // this block is called for each live update
        [self updateSteps:pedometerData];
    ];


-(void) updateSteps:(CMPedometerData *)pedometerData
    if ([CMPedometer isStepCountingAvailable]) 
        NSLog(@"Steps count:%@",[formatter stringFromNumber:pedometerData.numberOfSteps]);
     else 
        NSLog(@"Step Counter not available.");
    

【问题讨论】:

您无法让系统再次显示对话框(除非您从设备中删除该应用程序)。一旦用户回答了问题,他们就再也不会被问到了;他们可以从应用设置中更改它 感谢您的快速响应先生。 如果用户在权限弹出窗口中不小心按了“否”,只需在手机设置中将用户引导至您的应用程序,用户可以在其中切换相应的权限 【参考方案1】:

ios 上,我们永远无法再次显示授权对话框 但是,我们可以向用户展示从 s 更改权限的步骤 设置。

【讨论】:

以上是关于如何再次请求 CoreMotion 许可?的主要内容,如果未能解决你的问题,请参考以下文章

核心位置不断请求许可

如果用户第一次拒绝,如何再次请求权限(RunTime)

用户先前不允许后如何再次请求麦克风访问权限?

提示对运动和健身数据的许可

如何申请再次访问iphone联系人地址簿的许可?

如何在 WatchKit 中使用 CoreMotion?