必须设置 NSHealthUpdateUsageDescription 以请求对 HKQuantityTypeIdentifierStepCount 的写入授权

NSHealthUpdateUsageDescription must be set to request write authorization forHKQuantityTypeIdentifierStepCount

我正在尝试使用 HealthKit 读取一天的步数数据。 HK 认为我也在尝试写入它,即使我的代码中没有写入或请求 HK 写入授权。

这是我用于请求的代码:

let healthKitTypes: Set = [
    HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!
]

healthStore.requestAuthorization(toShare: healthKitTypes, read: healthKitTypes) { (isSuccess, error) in
    if isSuccess {
        UserDefaults.standard.set(true, forKey: "isHKAuthorized")
    } else { UserDefaults.standard.set(false, forKey: "isHKAuthorized") }
    
    if let error = error {
        UserDefaults.standard.set(false, forKey: "isHKAuthorized")
        print(error.localizedDescription)
    }
}

我怎样才能让 HK 停止骚扰我的写权限?授权 UI 应该只要求读取数据。

授权请求说“toShare”,但它意味着写作。所以将 toShare 参数设置为 nil 或一个空集。