2016-05-12 68 views
0

我已將HealthKit框架集成到我的應用程序中。 HealthKit僅從應用程序啓動一次。下面的代碼位於爲HealthKit創建的單例類中。HealthKit在Swift 2.0中僅啓動一次

func requestAuthorization() 
     { 

      if (HKHealthStore .isHealthDataAvailable() == false) 
      { 
       return 
      } 


      let healthKitTypesToRead : Set = [ 
       HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierFitzpatrickSkinType)!, 
       HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierBiologicalSex)!, 
       HKObjectType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierBloodType)! 
      ] 

      let healthKitTypesToWrite : Set = [ 
       HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyFatPercentage)!, 
       HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMassIndex)!, 
       HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeight)!, 
       HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMass)!, 
       HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierLeanBodyMass)! 
      ] 


       self.healthStore.requestAuthorizationToShareTypes(healthKitTypesToWrite, readTypes: healthKitTypesToRead) { 
        (success, error) -> Void in 
        if !success{ 
         print("error") 
        } 
       } 
      } 

方法requestAuthorization呼籲從視圖 - 控制按鈕動作,

@IBAction func healthIntegrationButton(sender: UIButton) 
    { 
     HealthKitHandler.shared.requestAuthorization() 

    } 

一旦我關閉該healthkit應用程序,則不執行任何操作發生的按鈕操作。同樣,如果我從模擬器&中刪除了應用程序,單擊按鈕healthkit應用程序將啓動。

任何人都可以請幫助我們在上面的代碼中出現了什麼問題。提前致謝。

回答

2

如果授權已被授予,該應用程序將不會再顯示它。它將直接調用成功處理程序。

更改completion處理程序分爲:

self.healthStore.requestAuthorizationToShareTypes(healthKitTypesToWrite, readTypes: healthKitTypesToRead) { 
       (success, error) -> Void in 
       if success { 
        print("success!") 
       } 
       else { 
        print("error") 
       } 
      } 

,你應該看到其中的差別。

+0

因此,如果我想再次啓動應用程序,我應該如何繼續 – suji

+1

@suji你沒有做錯任何事情。始終調用授權碼,但不要期望它向用戶顯示授權對話框。 – Sulthan

+0

好的,謝謝你的回答。 – suji

相關問題