错误域= com.apple.healthkit = 3"锻炼会话不是当前"错误?

时间:2018-03-12 20:01:38

标签: ios swift health-kit

我一直在尝试追踪此错误的原因。当我查看HealthKit documentation以查找HK错误时,我没有看到任何列出"锻炼当前错误&#34 ;但是,case errorInvalidArgument = 3所以数字匹配我正在寻找的错误,这是否必然意味着此Workout Session Not Current错误是无效的参数或我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果未为HealthKit授权应用,则会出现

HKError.Code.errorInvalidArgument(rawValue 3),并显示消息“锻炼会话不是当前的”。应用程序可以在创建会话之前检查锻炼对象类型是否已授权。

...
let authorizationStatus = healthStore.authorizationStatus(for: HKWorkoutType.workoutType())
if authorizationStatus != .sharingAuthorized {
    // app is not authorized to write workout to health store
    return
}
session = try HKWorkoutSession(configuration: configuration!)
session!.delegate = self
healthStore.start(session!)
...

用户可以在设置或“健康”应用程序中更改授权状态。