如何在您的应用中禁用 HealthKit 集成?
Posted
技术标签:
【中文标题】如何在您的应用中禁用 HealthKit 集成?【英文标题】:How can I disable HealthKit integration in your app? 【发布时间】:2017-09-25 19:30:25 【问题描述】:我有一个应用程序来请求授权以将 HealthKit 数据用于 tableView。
我使用此代码请求获取 HealthKit 数据的权限:
- (IBAction)healthIntegrationButtonSwitched:(UISwitch *)sender
if (sender.isOn)
[[GSHealthKitManager sharedManager] requestAuthorization];
- (void)requestAuthorization
if ([HKHealthStore isHealthDataAvailable] == NO)
// If our device doesn't support HealthKit -> return.
return;
NSArray *readTypes = @[[HKObjectType characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth]];
NSArray *writeTypes = @[[HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass],
[HKObjectType workoutType]];
[self.healthStore requestAuthorizationToShareTypes:[NSSet setWithArray:writeTypes]
readTypes:[NSSet setWithArray:readTypes] completion:nil];
如果“if (sender.isOff) ”取消 HealthKit 接受的权限,我可以添加到我的 healthIntegrationButtonSwitched 函数吗?
谢谢!
【问题讨论】:
不确定为什么要这样做?据我所知,无法使用 HealthKit 取消您的权限。唯一的建议是在授权方法中尝试一个空的 NSSet 并查看。 【参考方案1】:无法以编程方式取消对 HealthKit 访问的授权,但也没有必要这样做。当开关被禁用时,您应该确保不再查询 HealthKit。如果用户有隐私问题,也可以在 Health 应用的 Sources 面板中取消对您应用的授权。
【讨论】:
以上是关于如何在您的应用中禁用 HealthKit 集成?的主要内容,如果未能解决你的问题,请参考以下文章