终止应用后,iOS位置服务无法运行

时间:2016-03-20 15:33:56

标签: ios objective-c iphone ipad location

第一次在这里发帖,所以请原谅我,如果我用一个简单的答案问一个问题,但我似乎无法找到与我的案例相关的任何内容。

我正试图在应用程序生命周期的几乎所有阶段无限期地在iOS应用程序上运行位置服务。用户在应用程序内部有一个选项,用于激活某个启动位置服务的功能,期望这些服务必须在应用程序终止时运行。

我在这里遇到的问题是,当我手动终止应用程序时,它就会停止工作。

这是我到目前为止所做的:

  
      
  1. 在功能(location
  2. 中添加了背景模式   
  3. 添加了Application does not run in background mode并将其设置为Info.plist中的NO。还添加了NSLocationAlwaysUsageDescription和   NSLocationWhenInUsageDescription
  4.   
  5. 初始化CLLocationManager时,我设置了以下内容:desiredAccuracykCLLocationAccuracyBestForNavigation;   distanceFilterkCLDistanceFilterNone; activityType来   CLActivityTypeFitness; pausesLocationUpdatesAutomaticallyNO;   allowsBackgroundLocationUpdatesYES;并打电话   requestAlwaysAuthorization
  6.   
  7. 尝试在应用代理中对applicationWillTerminate:方法启动重要或区域监控。
  8.   

所以,我知道我在第4点所做的事情应该会在检测到更改后重新启动应用程序。至少我已经成功地处理了重大变化而不是区域监控。但是,它不会立即起作用。我发现它立即工作的唯一方法是停用/激活飞行模式,或关闭和打开设备。

终止应用后,有没有办法让这项工作(差不多)立即生效?我想在这里实现的是在用户终止应用程序后立即重新启动应用程序,以便应用程序可以继续执行它对位置服务所需的任何操作。提交到应用程序商店会有什么影响吗?

我已经看到了一些关于使用后台任务来实现这一目标的事情,这可能是要走的路吗?

感谢。

0 个答案:

没有答案