簡體   English   中英

ios 9 app不在后台報告位置

[英]ios 9 app not reporting location in background

我正在編寫(在Swift中)一個需要位置更新的iOS 9應用程序,包括后台模式。 問題是我只在前台獲得位置更新。 我想我已經做好了一切:

在info.plist中:

  • 為NSLocationAlwaysUsageDescription指定了值。

  • 為NSLocationUsageDescription指定了值。

  • 為NSLocationWhenInUseUsageDescription指定了值。

  • 包含在UIBackgroundModes中的“位置”。

  • 在UIRequiredDeviceCapabilities中包含“gps”和“location-services”

  • 啟動了位置管理器,如下所示:

     let locationManager = CLLocationManager() locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters locationManager.distanceFilter = 250.0 locationManager.allowsBackgroundLocationUpdates = true locationManager.startUpdatingLocation() 
  • 我還驗證了locationManager.pausesLocationUpdatesAutomatically是false。

當應用程序不在前台時,我沒有獲得位置更新。 我唯一一次獲得位置更新是因為我將應用程序帶到前台,即便如此,也不是所有時間。

知道出了什么問題嗎? 或者我的期望不正確?

你是如何將應用程序發送到后台的? 如果您滑動以殺死,那么您的應用將不會自動重新啟動以接收位置事件。 我在你的代碼中沒有看到它,你是否調用了requestAlwaysAuthorization? 您可能還想實現LocationManager:didFailWithError,以查看是否能為您提供任何想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM