gpt4 book ai didi

Swift - HealthKit 不会进行身份验证

转载 作者:行者123 更新时间:2023-11-30 12:25:48 27 4
gpt4 key购买 nike

我正在尝试制作一个基本脚本,从 iOS 上的 HealthKit 中提取我的每日步数,但是当触发页面时 - 什么也没有发生。它应该请求读取 HealthKit 数据的权限,但我不知道哪里出了问题。

这是我的代码:

import Foundation
import UIKit
import HealthKit
class HealthKitPage: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}

class HealthKitManager {
let HealthStore = HKHealthStore()

func AuthoriseHealthKit() -> Bool {
var isEnabled = true

if HKHealthStore.isHealthDataAvailable() {
let StepCount = NSSet(object: HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount))

let DataTypesToWrite = NSSet(object: StepCount)
let DataTypesToRead = NSSet(object: StepCount)

HealthStore.requestAuthorization(toShare: nil, read: (StepCount as! Set<HKObjectType>)) {
(success, error) -> Void in
isEnabled = success
}
}else{
isEnabled = false
}

return isEnabled
}
}

谁能提供一些建议吗?

最佳答案

我能够使用 Himali 的答案解决这个问题,但它需要转换为 Swift 3,这是我的工作文件:

import Foundation
import UIKit
import HealthKit


import UIKit
import HealthKit
class HealthKitPage : UIViewController
{
let healthStore: HKHealthStore = HKHealthStore()

override func viewDidLoad()
{
var shareTypes = Set<HKSampleType>()

shareTypes.insert(HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!)



var readTypes = Set<HKObjectType>()
readTypes.insert(HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!)


healthStore.requestAuthorization(toShare: shareTypes, read: readTypes) { (success, error) -> Void in
if success {
print("success")
} else {
print("failure")
}

if let error = error { print(error) }


}





}

关于Swift - HealthKit 不会进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44232686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com