如何在应用中禁用HealthKit集成?

时间:2017-09-25 19:30:26

标签: ios objective-c health-kit

我有一个申请请求授权将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函数吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

无法以编程方式取消授权HealthKit访问权限,但也没有必要。当开关被禁用时,您应该确保不再查询HealthKit。如果他们有隐私问题,用户也可以在Health应用程序的Sources面板中取消授权您的应用。