我的CMPedometer没有运行。
它之前和之后的代码运行,但它本身不起作用。 我没有得到任何警告或例外。 我正在用真正的5s进行测试。
我已经尝试了querydata和startpedometerupdates。
我正在导入核心动作并且库已链接。
任何帮助?
if ([CMPedometer isStepCountingAvailable] == YES)
{
CMPedometer *cmped;
[cmped queryPedometerDataFromDate:start toDate:[NSDate date] withHandler:^(CMPedometerData *pedometerData, NSError *error){
stepslabel.text = [pedometerData.numberOfSteps stringValue];
}];
}
答案 0 :(得分:2)
上面原始代码的问题是cmped
变量在if语句的末尾被释放,因此查询在完成之前就被销毁了。
通过将其更改为strong
属性,它将在内存中保留为该类的生命周期。
答案 1 :(得分:1)
看起来真的很奇怪,但我没有在.h或使用它之前声明它。什么起作用宣称为@property CMPedometer * cmped;在界面
之后