即使记录了步骤,queryPedometerData也会返回nil步骤

时间:2018-03-16 14:14:20

标签: ios swift core-motion

我想从1小时前检索步骤。我不需要做任何特别的事情,我只需要知道用户自上一个小时以来完成了多少步骤。

即使我的iPhone记录了一些步骤,检索步骤数的查询也会返回" nil"。

这是代码:

replicatee xs'@(x:xs) n = x : (replicatee xs' (n-1) ++ replicatee xs n)

这是我在查询中添加的日期格式:

  

2018-03-16 12:59:17 +0000

有什么问题?

1 个答案:

答案 0 :(得分:1)

一个可能的问题是CMPedometer对象仅存储在局部变量中。 pedometer.queryPedometerData以异步方式运行,因此该对象需要持续足够长的时间来完成查询。但如果它是一个局部变量,它就无法做到;它甚至可以在获取数据之前消失。尝试改为使用pedometer持久化实例属性。

另请注意,您不知道数据将在哪个队列中传递。你需要走出主队列才能与界面交谈,而你却没有这样做。