Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
位置后台服务在Swift2中不工作_Swift2 - Fatal编程技术网

位置后台服务在Swift2中不工作

位置后台服务在Swift2中不工作,swift2,Swift2,我的应用程序中有一些奇怪的行为 在我的应用程序代理文件中,我请求用户在使用应用程序时允许使用其位置。这很好,我可以得到他们的当前位置。在我得到他们的初始位置后,我停止更新位置。伟大的用户可以点击一个按钮开始更新位置 如果应用程序在前台,我可以看到位置每秒都被添加到我的字典中(稍后我会将其更改为distanceFilter 10)。如果用户将应用程序放到后台位置服务站,我看不到屏幕顶部的蓝色条 我有: 启用位置更新的后台模式 NSLocationWhenUsageDescription集(我能够

我的应用程序中有一些奇怪的行为

在我的应用程序代理文件中,我请求用户在使用应用程序时允许使用其位置。这很好,我可以得到他们的当前位置。在我得到他们的初始位置后,我停止更新位置。伟大的用户可以点击一个按钮开始更新位置

如果应用程序在前台,我可以看到位置每秒都被添加到我的字典中(稍后我会将其更改为distanceFilter 10)。如果用户将应用程序放到后台位置服务站,我看不到屏幕顶部的蓝色条

我有:

  • 启用位置更新的后台模式
  • NSLocationWhenUsageDescription集(我能够成功地向用户请求权限)
  • 已使用startUpdatingLocation()启动位置更新
  • 已尝试将应用程序设置为始终跟踪位置(结果相同)
  • 从我的手机中删除应用程序并重新安装
在我的应用程序的前一个版本(在Swift 2之前)中,它工作得非常好。即使应用程序在后台,我也能看到正在跟踪的位置


我在我的iPhone上进行测试,而不是在模拟器上进行测试。

如果其他人也有同样的问题,我已经将我的iPhone更新为iOS9,因此需要添加

locationManager.allowsBackgroundLocationUpdate = true 

给我的位置经理。

如果其他人也有同样的问题,我已经将我的iPhone更新为iOS9,因此我需要添加

locationManager.allowsBackgroundLocationUpdate = true 

致我的位置经理。

以下内容适用于我,请注意AllowsBackgroundLocationUpdate是复数形式

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

以下内容适用于我,请注意allowsBackgroundLocationUpdates是复数形式

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