2016-11-07 84 views
0

我的應用程序被殺後,我想重新啓動基於location.speed參數的應用程序,我的意思是說當設備速度是> 5kmph我想我的應用程序拿開,需要編程點擊一個按鈕?我想func locationManager(管理器:CLLocationManager,didUpdateToLocation甚至在應用程序被殺後被調用?

+0

在有限的情況下,您可以在後臺使用Core Location。您應該查看[documentation](https://developer.apple.com/reference/corelocation/cllocationmanager#1669609) – Wez

回答

0

設置allowsBackgroundLocationUpdates =真

的默認值是NO的allowsBackgroundLocationUpdates

如果您的應用程序在後臺使用位置(不顯示藍色狀態欄),您必須設置allowBackgroundLocation除了在Info.plist中設置背景模式功能之外,更新爲YES。否則位置更新僅在前臺提供。優點是您現在可以讓位置管理員進行後臺位置更新,並且可以在同一應用中只進行前臺位置更新。您也可以將該值重置爲NO以更改行爲。

+0

這將在應用程序處於後臺時執行。我需要CLLocation管理器didUpdateLocations的委託方法在應用程序被終止之後調用(終止後) –

+0

set allowsBackgroundLocationUpdates = YES。檢查這是否解決了您的問題。 –

+0

您給出的答案是在應用程序處於後臺時的答案。但我的問題是,當應用程序被殺害,我需要didUpdateLocations方法被頻繁調用並運行。 –

0

不可能。

當進程死亡時,您不能執行部分代碼。就這麼簡單。

您可以在android中使用後臺服務來執行此操作,即使您的應用程序因爲後臺服務是不同的進程而死亡,也會運行該服務。但iOS不允許創建後臺服務。

相關問題