CMPedometer StepCounting 不可用

Posted

技术标签:

【中文标题】CMPedometer StepCounting 不可用【英文标题】:CMPedometer StepCounting not Available 【发布时间】:2014-12-15 07:21:05 【问题描述】:

我的代码是:

if ([CMPedometer isStepCountingAvailable]) 

        self.pedometer = [[CMPedometer alloc] init];
    
    else 
        NSLog(@"Step counting is not available on this device!");
        [SVProgressHUD showErrorWithStatus:@"Step counting is not available on this device!"];
    

当我在 ios8 和更高版本的设备上运行它时,它会说:

此设备不支持计步功能!

如何使它可用于计步?

【问题讨论】:

您正在测试的设备是什么? 是否接受向用户显示这样的消息?我也计划在我的应用中实现同样的功能,只是想知道 【参考方案1】:

您的代码是正确的,它产生了预期的结果。 iPhone 5 没有跟踪步数的硬件(Apple M7 芯片),因此无法计算步数。

你至少需要一部 iPhone 5s

【讨论】:

感谢您的回答。我可以使用计步器计算海拔吗? @Matthias 我正在我的 iPhone 5S(也在 iPhone 5C 中)尝试相同的代码,但它对我不起作用......是不是因为 Apple M7 芯片不可用在这些设备中?? @Matthias Apple 如何制作这样一个许多设备不支持的 API ......因为硬件?请告诉我如何使用 CMPedometer 实现步数计数或有其他方法吗?【参考方案2】:

iPhone 4s、5 和 5c 没有 M7 运动传感器协处理器,因此它们不会记录步数。 iPhone 5s、6 和 6 Plus 都有运动协处理器。

【讨论】:

以上是关于CMPedometer StepCounting 不可用的主要内容,如果未能解决你的问题,请参考以下文章

iOS CMPedometer的使用

CMPedometer 保存步骤时间戳

我可以在后台收听 CMPedometer 并在不同情况下发送本地推送通知吗?

如何在 watchkit 应用中启用 CoreMotion?

CMErrorDomain 错误 103. 是啥意思? (CMP计步器)

如何获取用户使用加速度计数据的步数?