我有一个应用程序,其背景位置和启动提取模式。 它获取用户位置,将其发送到服务器,读取结果(JSON)并触发本地通知。 此过程已在iPhone 4S上每15,60和180秒进行一次测试。
问题出现了。
如果应用程序进入后台,大约3分钟后,它会冻结并停止与服务器的通信。我可以从Xcode中看到,在调试导航器中:内存已分配,但CPU和能量影响为零。 这个问题可以复制打开像Youtube这样的重型应用程序:在这种情况下,应用程序会在几秒钟后冻结。 最有可能iOS本身冻结了应用程序。 我的问题是:有没有办法阻止这种冻结或解冻应用程序而不恢复它?
答案 0 :(得分:0)
使用此代码
设置位置管理器的setAllowsBackgroundLocationUpdates属性
if ([self.locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
[self.locationManager setAllowsBackgroundLocationUpdates:YES];
}
您还可以查看背景重新制作时间
NSLog(@"%f",[UIApplication sharedApplication].backgroundTimeRemaining);