OGeek|极客世界-中国程序员成长平台

标题: iphone - iOS - 后台加速计显示定位服务弹出窗口,但我们不需要定位服务 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:47
标题: iphone - iOS - 后台加速计显示定位服务弹出窗口,但我们不需要定位服务

我们的应用想要在后台访问加速度计数据。一种可能的实现方法是使用 Core Motion 来读取加速度计 -

CLLocationManager* locationManager;
CMMotionManager* motionManager;
...
[motionManager startAccelerometerUpdatesToQueue: ... withHandler: ...]

在前台运行良好,但我发现在后台接收更新的唯一方法是将应用设置为允许在后台使用位置,然后调用

[locationManager startUpdatingLocation] 

-applicationWillResignActive:

问题是,当我调用 startUpdatingLocation 时,会弹出一个窗口,其中包含 Turn On Location Services to Allow “app” to determine Your Location 文本。

当然,无论是否启用定位服务,我都会收到加速度计读数,但弹出窗口很烦人,可能会让用户感到困惑。

在后台获取加速度计数据是否与尝试接收位置更新有关?



Best Answer-推荐答案


您可以在后台使用 startAccelerometerUpdatesToQueue,这是您唯一需要满足的条件 — 使用任何后台模式让您的应用在后台运行(位置更新(您的情况)、播放、VoIP 或 BT4中央)。

关于iphone - iOS - 后台加速计显示定位服务弹出窗口,但我们不需要定位服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003360/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4