iOS应用程序在后台执行期间死机

问题描述:

我有一个应用程序,其背景位置和获取模式已激活。 它获取用户位置,将其发送到服务器,读取结果(JSON)并触发本地通知。 此过程已在iPhone 4S上每15,60和180秒进行一次测试。iOS应用程序在后台执行期间死机

问题来了。

如果应用程序进入后台,大约3分钟后,它会冻结并停止与服务器的通信。我可以在调试导航器中看到来自Xcode的内存:内存已分配,但CPU和能源影响为零。 这个问题可以复制,打开一个像Youtube一样沉重的应用程序:在这种情况下,应用程序冻结几秒钟后。 最有可能的iOS本身冻结应用程序。 我的问题是:有什么办法可以防止这种冻结或解冻应用程序而不恢复它?

+0

您已经选择了位置更新后台模式,你应用程序将“解冻”,并且一旦用户改变他的位置:)每次用户基于距离f改变他的位置时,地点代表被调用ilter你已经指定:)在位置更新委托你可以使用NSURLSession和会话管理器来与你的服务器进行通信。如果您需要频繁调用您的应用,请将距离设置为最准确的过滤器。使用位置永远是一种折衷,请记住您的应用可能会耗尽用户的电池:)仅根据您的需求使用它 –

PLZ使用此代码

您的位置马槽集setAllowsBackgroundLocationUpdates财产

if ([self.locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) { 
      [self.locationManager setAllowsBackgroundLocationUpdates:YES]; 
     } 

您还可以检查后台remming时间

NSLog(@"%f",[UIApplication sharedApplication].backgroundTimeRemaining);