如何在您的应用中禁用 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 集成?的主要内容,如果未能解决你的问题,请参考以下文章

如果尚未设置健康应用程序,如何使用 healthkit?

是否可以在您的 Visual Studio 集成 shell 应用程序中捆绑第 3 方扩展?

DPRP 被禁用。对于沙盒贝宝中的此商家

在用户关闭应用程序后请求 HealthKit 权限

在用户关闭应用程序后请求 HealthKit 权限

如何禁用或隐藏我网站上不需要的 Disqus 广告?