2013-09-25 86 views
2

我們的應用程序想要訪問後臺的加速度計數據。一種可能的實現方式是使用核心運動的加速度計讀數 -iOS - 加速度計在後臺顯示位置服務彈出窗口,但我們不需要位置服務

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

其在前景工作正常,但我發現接受在後臺更新的唯一方法是設置該應用程序允許在後臺使用位置,並調用

[locationManager startUpdatingLocation] 

-applicationWillResignActive:

的問題是,當我叫startUpdatingLocation彈出一個窗口文本Turn On Location Services to Allow "app" to Determine Your Location

但是,當然,無論位置服務是否啓用,我都會收到加速計讀數,但彈出窗口令人討厭,可能會讓用戶感到困惑。

在後臺獲取加速度計數據與嘗試接收位置更新有些聯繫?

回答

1

您可以在後臺使用startAccelerometerUpdatesToQueue,這是您需要滿足的唯一要求 - 使用任何背景模式讓您的應用在後臺運行(位置更新(您的案例),回放,VoIP或BT4中心)。

+0

我們做了,因爲應用程序也播放音樂。 – Axarydax