iPhone上的Nike + GPS如何在后台接收加速度计更新?

kyr*_*off 33 accelerometer background-process ios5

适用于iOS 5的全新Nike + GPS应用程序能够在后台处理加速度计事件(从而允许室内跑步机跟踪).这怎么可能?当我将我的应用程序放在后台时,它会停止接收事件.我使用标准的UIAccelerometer API.

the*_*man 12

为了提供这个问题的答案,即使已经自己回答了......

"如果您使用较新的Core Motion API,则可以在后台接收更新."

这是一个例子:

- (void)startAccelerationCollection {
    [self.motionManager startAccelerometerUpdatesToQueue:[[NSOperationQueue alloc] init]
                                             withHandler:^(CMAccelerometerData *data, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.accelerometerReadings addObject:data];
        });
    }];
}
Run Code Online (Sandbox Code Playgroud)

  • 按主页按钮后,这不起作用.我们如何解决这个问题? (4认同)
  • 当应用程序转到后台时,这不起作用 (2认同)