XZ_iOS 之 使用 CoreMotion 获取步数

本文介绍了如何在 XZ_iOS 中利用 CoreMotion 框架获取步数。内容包括真机运行的必要性、Info.plist 中的权限设置、步数查询方法、指定时间段步数获取、授权状态检查以及设备支持情况判断。对于iOS 11以上系统,还涉及到权限查询的实现。同时,提供了CoreMotion可能出现的错误参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果想要使用 HealthKit 实现获取步数,请点击《XZ_Swift 之HealthKit 获取手机计步统计》

注意:

1>必须真机运行

2>Info.plist中添加权限 Privacy - Motion Usage Description

导入框架

import CoreMotion

查询步数

 private let pedometer = CMPedometer()
    
    /// 开始查询
    func startPedometer(completed: @escaping ((_ isSuccess: Bool, _ stepCount: Int)->Void)) {
        
        if CMPedometer.isStepCountingAvailable() {
            
            pedometer.startUpdates(from: Date(timeIntervalSinceNow: -24*60*60*2)) { (data, error) in
                
                if error != nil {
                    completed(false, 0)
                    print("error:", error as Any)
                }else {
                    print("data:", data?.numberOfSteps.intValue as Any)
                    completed(true, (data?.numberOfSteps.intValue)!)
                }
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值