2015-10-01 60 views
1

我在我的應用程序中有一些奇怪的行爲。位置後臺服務無法在Swift2中工作

在我的應用程序委託文件中,我要求用戶在使用應用程序時使用他們的位置的權限。這工作正常,我可以得到他們當前的位置。在我獲得他們的初始位置後,我停止更新位置。大。用戶可以點擊按鈕開始更新位置。

如果應用程序在前臺,我可以看到每秒鐘都會將位置添加到我的字典中(以後我會將其更改爲distanceFilter 10)。如果用戶將應用程序置於後臺位置服務停止,並且我沒有看到屏幕頂部的藍色欄。

我:

  • 的位置更新背景模式啓用
  • NSLocationWhenInUseUsageDescription集(我能成功申請許可的用戶)
  • 入門startUpdatingLocation()
  • 的位置更新試圖設置應用程序始終跟蹤位置(相同結果)
  • 從我的手機中刪除應用程序並重新安裝

在之前版本的我的應用程序(在Swift 2之前),這是完美的工作。即使應用在後臺,我也可以看到位置被跟蹤。

我測試我的iPhone不是模擬器。

回答

4

如果任何人有同樣的問題,我已經更新了我的iPhone iOS9所以這是需要我

locationManager.allowsBackgroundLocationUpdate = true 

添加到我的位置管理。

0

以下爲我工作,請注意allowBackgroundLocationUpdates是複數。

locationManager = CLLocationManager() 
locationManager.delegate = self 
locationManager.desiredAccuracy = kCLLocationAccuracyBest 
locationManager.allowsBackgroundLocationUpdates = true