如何在 HealthKit 中获得使用 Cordova 编写锻炼路线的许可

Posted

技术标签:

【中文标题】如何在 HealthKit 中获得使用 Cordova 编写锻炼路线的许可【英文标题】:How to gain permission in HealthKit for writing workout route using Cordova 【发布时间】:2017-10-01 18:38:32 【问题描述】:

如何在 iPhone 上的 CordovaApp 中请求用户对 WorkoutRoute 的许可?

意思是通过HKWorkoutRouteBuilder.insertRouteData将锻炼位置写入HealthKit,这是由原生WatchKit App完成的。

我试过(通过使用 telerik.plugin.healthkit)

var supportedTypes = [
  'HKQuantityTypeIdentifierActiveEnergyBurned',
  'HKQuantityTypeIdentifierHeartRate',
  'HKQuantityTypeIdentifierDistanceWalkingRunning',
  'HKWorkoutRouteTypeIdentifier',
  'HKWorkoutTypeIdentifier'
];

window.plugins.healthkit.requestAuthorization(...

但到目前为止还没有机会获得:锻炼路线(图像中标记为棕色)-这是来自 Speedysloth 示例:

【问题讨论】:

请说明您使用的 healthkit 插件。正在创建自己的? 我正在使用来自 GitHub 的“com.telerik.plugins.healthkit”(不,我是初学者,不是自己创建的)。 【参考方案1】:

最后,我通过扩展文件中的插件 (telerik.plugin.health) 管理请求访问“锻炼路线”:Healthkit.m / function getHKSampleType() 我添加了:

if (@available(ios 11.0, *)) 
        type = [HKObjectType seriesTypeForIdentifier:elem];
        if (type != nil) 
            return type;
     else 
        // Fallback on earlier versions
    

因为 seriesType 是从 iOS 11 开始的新类型。

【讨论】:

以上是关于如何在 HealthKit 中获得使用 Cordova 编写锻炼路线的许可的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中使用 HealthKit 获得步行和跑步距离

如何使用 Swift 在 healthkit 中访问锻炼的元数据

您如何使用 HealthKit 检测锻炼开始/停止?

iOS HealthKit - 如何获得绝对最新的当前心率,例如手表心率并发症?

如何在 HealthKit 中获取 HKWorkoutActivityType 的名称?

如何在 HealthKit 中获取 HKWorkoutActivityType 的名称?