CMPedometer没有运行

时间:2014-12-08 11:47:09

标签: cocoa core-motion

我的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];
    }];

    }

2 个答案:

答案 0 :(得分:2)

上面原始代码的问题是cmped变量在if语句的末尾被释放,因此查询在完成之前就被销毁了。 通过将其更改为strong属性,它将在内存中保留为该类的生命周期。

答案 1 :(得分:1)

看起来真的很奇怪,但我没有在.h或使用它之前声明它。什么起作用宣称为@property CMPedometer * cmped;在界面

之后