一.介紹
CMPedometer是蘋果8.0推出的,以前的只能從物理引擎的框架去作,非常尷尬。並且不支持32位的系統,意味者iphone5和之後的型號都不支持這個。如今廣泛好多了,如今的公司通常最低適配到8.0或者直接10.0系統,不再用擔憂這個問題了。
二.使用
先聲明一個屬性,否則他容易泄露,蘋果的好多框架都是這樣的,不能直接使用,得千萬注意
@property(nonatomic,strong)CMPedometer pedometer;框架
三.判斷權限
pedometer =[[CMPedometer alloc] init];
pragma mark返回當天00:00dom
pragma mark返回如今的時間iphone
NSCalendar calendar = [NSCalendar currentCalendar];
NSDate now = [NSDate date];
NSDateComponents components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:now];
NSDate startDate = [calendar dateFromComponents:components];ide
return startDate;
}atom
[pedometer queryPedometerDataFromDate:nil toDate:nil withHandler:^(CMPedometerData Nullable pedometerData, NSError Nullable error) {component
}]
四.注意
1.由於我獲取的是當天的時間,因此作法就很簡單了,獲取如今的時間,而後獲取次日凌晨的時間,恰好就是一成天的時間
獲取步數,這個不能格式化成爲本地時間,以前格式化過成爲北京時間發現錯位8個小時.
2.蘋果的這個獲取步數,不能每秒實時獲取,容易錯誤,儘可能1分鐘獲取一次好點,這樣能保證獲取成功
3.還有其餘的方法,基本上不多用到,用到了直接看下注視就能夠很清楚的看明白。ip