gpt4 book ai didi

ios - 迁移到 Xcode 8 和 Swift 3.0 时 Xcode Healthkit 授权函数错误

转载 作者:行者123 更新时间:2023-11-28 08:27:52 30 4
gpt4 key购买 nike

以下函数在 Xcode 7.3 和 Swift 2.* 中工作,迁移到 Xcode 8 和 Swift 3.0 后,我在尝试编译时遇到以下错误

cannot call value of non-function type ((Bool, _ error:NSError?) ->
Void)!

     func authorizeHealthKit(_ completion: ((_ success:Bool, _ error:NSError?) -> Void)!) {
healthKitStore = HKHealthStore()
let typesSet:Set<HKSampleType> = [
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bodyTemperature)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.respiratoryRate)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bloodPressureSystolic)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bloodPressureDiastolic)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bodyMass)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.heartRate)!,
HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.oxygenSaturation)!]


healthKitStore?.requestAuthorization(toShare: typesSet, read: typesSet, completion: { (boolVal, error) in
completion(success: boolVal, error: error) //<-- compile error here
})
}

最佳答案

尝试将完成处理程序设为可选,如下所示:

完成?(成功:boolVal,错误:error)

还要注意 Apple API 文档:

重要在 iOS 10.0 上或之后链接的 iOS 应用程序必须在其 Info.plist 文件中包含它需要访问的数据类型的使用说明 key ,否则它将崩溃。要具体访问和更新 HealthKit 数据,它必须分别包含 NSHealthShareUsageDescription 和 NSHealthUpdateUsageDescription 键。

希望这对您有所帮助。

关于ios - 迁移到 Xcode 8 和 Swift 3.0 时 Xcode Healthkit 授权函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550599/

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