Apple watch HealthKit - 无法识别的选择器 HKHealthStore startWorkoutSession:completion:

Posted

技术标签:

【中文标题】Apple watch HealthKit - 无法识别的选择器 HKHealthStore startWorkoutSession:completion:【英文标题】:Apple watch HealthKit - unrecognized selector HKHealthStore startWorkoutSession:completion: 【发布时间】:2015-08-27 14:08:31 【问题描述】:

我尝试使用手表 OS2.0 获取心率 当我尝试开始锻炼课程时出现此错误

Carleep WatchKit Extension[594:91719] -[HKHealthStore startWorkoutSession:completion:]: unrecognized selector sent to instance 0x155b40e0
我很好地将 healthkit 框架添加到我的项目中。 我在其他链接器标志中添加了 -all_load 和 -ObjC 当我 cmd+单击 startWorkoutSession 时,我在 healthkit 框架中找到了这个功能... 我有 ios 9 和 watchOS 2.0 下的 Apple Watch

我成功请求 heartRate 的授权。 我不知道我是否需要强制导入 HKHealthstore+HKWorkout 类别,我不知道该怎么做。

如果您对我的问题以及如何解决这个问题有想法,那就太好了。

问候,

【问题讨论】:

【参考方案1】:

好的,我找到了解决方案,我只是将 Xcode 7 更新到最新的 beta 版本 (6)。他们在 watch os2 的最后一个测试版中删除了 startworkoutsession 中的完成块。我在 Xcode 7 beta 3 中用于 watch os 2 的 sdk 已经过时了。

【讨论】:

你能分享你的目标c代码吗?非常感谢! 我接受了这个项目:github.com/coolioxlr/watchOS-2-heartrate,我是在 Objective-C 中完成的。如果你使用 objc,我可以添加它;)我的下一个问题是如何在 Apple Watch 屏幕关闭的情况下访问锻炼数据。 请添加目标c代码。不幸的是,获得客观的 c 代码越来越难了! 你可以在这里找到我的接口控制器:dropbox.com/sh/rmd83xfiv3dxi94/AAAmuAoJfn49HOaTOkrLp_WBa?dl=0 我找到了即使苹果手表屏幕关闭也能访问心率数据的解决方案,我在这里发布答案:***.com/questions/32300247/… 如果你有任何问题都不要犹豫;) 我刚刚从 Xcode 模板创建了一个“带有 WatchKit 应用的 iOS 应用”。我正在使用 Xcode 7.0 beta 6 和 OS2.0 (13S5325c) 。我将“HealthKit 切换到 ON”。如果我启动应用程序,我没有获得心率授权。我必须添加一些特别的东西吗? isHealthDataAvailable = True / HKQuantityTypeIdentifierHeartRate = True / requestAuthorizationToShareTypes = False

以上是关于Apple watch HealthKit - 无法识别的选择器 HKHealthStore startWorkoutSession:completion:的主要内容,如果未能解决你的问题,请参考以下文章

没有 iPhone 的 Apple Watch 上的 HealthKit 数据存储?

Objective-C HealthKit 识别来源是来自 Apple iPhone 还是 Apple Watch

Objective-C HealthKit 识别来源是来自 Apple iPhone 还是 Apple Watch

是否可以从 HealthKit 读取 Apple Watch 目标(移动、步进和站立)?

从 Apple Watch 上的 HealthKit 中移除水样

从 Apple Watch 上的 HealthKit 中移除水样