我们的应用程序想在后台访问加速度计数据。一种可能的实现方法是使用 Core Motion 来读取加速度计 -
和
CLLocationManager* locationManager;
CMMotionManager* motionManager;
...
[motionManager startAccelerometerUpdatesToQueue: ... withHandler: ...]
在前台工作正常,但我发现在后台接收更新的唯一方法是将应用程序设置为允许在后台使用位置,然后调用
[locationManager startUpdatingLocation]
在-applicationWillResignActive:
问题是,当我调用时startUpdatingLocation
会弹出一个带有 text 的窗口Turn On Location Services to Allow "app" to Determine Your Location
。
但是,当然,无论是否启用位置服务,我都会收到加速度计读数,但弹出窗口很烦人,可能会让用户感到困惑。
在后台获取加速度计数据是否与尝试接收位置更新有关?