在我的应用中,我整合了Apple HealthKit支持。我想到了如何请求不同类型的授权。
但是,如果用户访问Health应用程序,并将所有类型的授权更改回NO,则我的应用程序无法使用任何数据。再次调用requestAuthorizationToShareTypes并不会再次为Health viewController带来选项。
我在stackoverflow上找到了帖子,建议更改类型,这会欺骗Health应用程序再次打开其授权视图。它确实有效。
有没有更简单,更合理的方法来做到这一点?
非常感谢任何形式的帮助!
答案 0 :(得分:1)
使用authorizationStatusForType
检查是否允许访问,如果不允许,则会显示警告,通知用户需要权限并提供将其带到设置页面进行修复。
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}