看着后台刷新里面一大堆软件要求后台刷新,想关闭却又不知道某些软件到底是否需要后台刷新,如果关闭后台刷新会不会影响到软件的工作呢?所以应该如何判断一个软件是否需要后台刷新呢?
这里其实就是一个权限问题,你需要看哪一些功能需要 Background Modes,就知道哪些app需要后台模式了.常见的基本这么几类:定位,音乐(voip),新闻类(后台拉数据)。如果有这些,建议加入后台应用刷新
那么怎么开启呢。
首先在项目的 TARGETS里面选择Capablities选项卡。在下拉栏选择Background Modes。如下图所示,
此时仅仅是打开了,还需要进一步设置。
在AppDelegate.m 导入#import<CoreLocation/CoreLocation.h>
添加属性 @property(nonatomic,strong)CLLocationManager*manager;
然后在applicationDidEnterBackground应用方法中,添加
if([CLLocationManager significantLocationChangeMonitoringAvailable])
{
[_manager stopUpdatingLocation];
[_manager startMonitoringSignificantLocationChanges];
}
else
{
NSLog(@"Significant location change monitoring is not available.");
}
然后在applicationDidBecomeActive应用方法中,添加
if([CLLocationManager significantLocationChangeMonitoringAvailable])
{
[_manager stopMonitoringSignificantLocationChanges];
[_manager startUpdatingLocation];
}
else
{
NSLog(@"Significant location change monitoring is not available.");
}
最后在在AppDelegate.m 中didFinishLaunchingWithOptions 中添加模式设置。
_manager.pausesLocationUpdatesAutomatically=NO;//该模式是抵抗ios在后台杀死程序设置,iOS会根据当前手机使用状况会自动关闭某些应用程序的后台刷新,该语句申明不能够被暂停,但是不一定iOS系统在性能不佳的情况下强制结束应用刷新。
在此感谢万能的互联网,本文仅作学习交流使用,禁止任何形式的转载和商业用途。
请勿用于商业及非法用途,如由此引起的相关法律法规责任,与我们无关!
如有疑问,请联系。
QQ 209219018 QQ群:153123137。