如何在需要时申请Health Kit的授权?

时间:2015-02-09 21:19:59

标签: ios cocoa health-kit

在我的应用中,我整合了Apple HealthKit支持。我想到了如何请求不同类型的授权。

但是,如果用户访问Health应用程序,并将所有类型的授权更改回NO,则我的应用程序无法使用任何数据。再次调用requestAuthorizationToShareTypes并不会再次为Health viewController带来选项。

我在stackoverflow上找到了帖子,建议更改类型,这会欺骗Health应用程序再次打开其授权视图。它确实有效。

有没有更简单,更合理的方法来做到这一点?

非常感谢任何形式的帮助!

1 个答案:

答案 0 :(得分:1)

使用authorizationStatusForType检查是否允许访问,如果不允许,则会显示警告,通知用户需要权限并提供将其带到设置页面进行修复。

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
   [[UIApplication sharedApplication] openURL:url];
}