2017-09-25 54 views
0

我有一個應用程序requestAuthorization使用HealthKit數據到一個tableView。如何禁用應用程序中的HealthKit集成?

我使用此代碼請求允許獲得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]; 
} 

我可以添加到我的healthIntegrationButtonSwitched功能時,「如果(sender.isOff){」取消許可接受HealthKit的其他情況?

謝謝!

+0

不知道你爲什麼想這樣做?據我所知,無法用HealthKit取消授權您的權限..只有建議是在授權方法中嘗試一個空的NSSet並查看。 – mm282

回答

0

無法以編程方式取消對HealthKit訪問的授權,但也沒有必要。當開關被禁用時,您應該確保不再查詢HealthKit。此外,如果用戶存在隱私問題,用戶可以在Health應用程序的「來源」面板中取消授權您的應用程序。

相關問題