簡體   English   中英

如何更新 UI 並請求 Healthkit 的許可

[英]How to update UI and ask Permission for Healthkit

現在我正在開發一個與 iOS 中的 Healthkit 相關的應用程序。 我正面臨一個問題。 在第一個視圖控制器 HomeVC 中,當我嘗試請求 healthkit 權限時,它工作正常,並顯示系統屏幕以獲取權限。

但是同時,我必須在征得許可的情況下在 viewcontoller 上設置 UI 元素的布局,所以我在 viewDidload 方法中添加了一些代碼來更新 UI。 在這種情況下,當我請求許可時,許可屏幕沒有顯示並顯示白屏,並且在控制台中出現以下錯誤。

錯誤域=com.apple.healthkit 代碼=100“授權會話超時” UserInfo={NSLocalizedDescription=授權會話超時}

有沒有辦法解決這個問題?

添加到 info.plist 文件中。 添加以下信息屬性列表->隱私-健康更新使用說明描述->應用程序想要訪問您的健康包以提供更好的健身效果

func authorizeHealthKit() {
        
        let healthKitTypesToRead : Set<HKObjectType> = [
            HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.dateOfBirth)!,
            HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.bloodType)!,
            HKObjectType.quantityType(forIdentifier: .stepCount)!,
            HKObjectType.quantityType(forIdentifier: .activeEnergyBurned)!
        ]
        let healthKitTypes: Set = [ HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!, HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned)! ]
        
        
        let healthKitTypesToWrite : Set<HKSampleType> = []
        
        if !HKHealthStore.isHealthDataAvailable() {
            
            print("error")
            return
        }
        self.healthKitStore.requestAuthorization(toShare: healthKitTypesToWrite, read: healthKitTypesToRead) { (success, error) in
            print("request authorized succesfully")      
        }
        
        
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM