看著后臺刷新里面一大堆軟件要求后臺刷新,想關閉卻又不知道某些軟件到底是否需要后臺刷新,如果關閉后臺刷新會不會影響到軟件的工作呢?所以應該如何判斷一個軟件是否需要后臺刷新呢?
這里其實就是一個權限問題,你需要看哪一些功能需要 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。