定义个全局变量 如果不是全局变量会报错
let pedonmeter:CMPedometer = CMPedometer()
在方法里面写, 两种方法用哪个都可以,不明白的地方可以看文档
//判断该设备是否支持计步功能
if CMPedometer.isStepCountingAvailable(){
//开始时间
let startTime = getStartTime()
//结束时间
let endTime = getEndTime()
//第一种
//获取一个时间范围内的数据最大7天 参数 开始时间,结束时间, 一个闭包
pedonmeter.queryPedometerDataFromDate(startTime, toDate:endTime, withHandler: { (pedometerData:CMPedometerData?, error:NSError?) -> Void in
if error != nil{
print("error:\(error)")
}
else{
print("开始时间:\(startTime)")
print("结束时间:\(endTime)")
print("步数===\(pedometerData!.numberOfSteps)")
print("距离===\(pedometerData!.distance)")
}
})
}
//第二种
//获取指定开始时间到当前时间的数据 参数 开始时间, 一个闭包
pedonmeter.startPedometerUpdatesFromDate(startTime, withHandler: { (pedometerData:CMPedometerData?, error:NSError?) -> Void in
if error != nil{
print("error:\(error)")
}
else{
print("开始时间:\(startTime)")
print("结束时间:\(endTime)")
print("步数===\(pedometerData!.numberOfSteps)")
print("距离===\(pedometerData!.distance)")
}
})
/**
获取当前时区的时间
*/
func getEndTime() -> NSDate
{
//转换成本地时区
let date = NSDate()
let zone = NSTimeZone.systemTimeZone()
let interval = zone.secondsFromGMTForDate(date)
let nowDate = date.dateByAddingTimeInterval(Double(interval))
return nowDate
}
/**
获取开始时间 当天0时0分0秒
*/
func getStartTime() -> NSDate
{
let datef = NSDateFormatter()
datef.dateFormat = "yyyy-MM-dd"
let stringdate = datef.stringFromDate(getEndTime())
print("当天日期:\(stringdate)")
let tdate = datef.dateFromString(stringdate)
//获取本地时区的当天0时0分0秒
let zone = NSTimeZone.systemTimeZone()
let interval = zone.secondsFromGMTForDate(tdate!)
let nowday = tdate!.dateByAddingTimeInterval(Double(interval))
return nowday
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有