ios實現無限後臺任務

需求服務器

咱們的app是使用心跳機制來保持用戶的登錄狀態,這樣才能收到服務器發來的消息和命令,可是當app進入後臺之後大約3分鐘或者10分鐘以後app就會被系統掛起,用戶就會超時下線,這樣就必須保持app長時間的後臺運行app

緣由測試

app通常有三種狀態前臺運行中、進入後臺以及掛起狀態,當咱們按home鍵或者鎖屏鍵之後app進入後臺運行,根據蘋果的官方解釋,蘋果容許app運行一小段時間在後臺運行,作一些處理,大約是十分鐘左右的時間,十分鐘以後app被系統強行掛起,掛起全部的操做和線程,當用戶再點擊進入此app時纔會啓動線程atom

方案線程

一、app內後臺無線的播放音樂,Background Audio代理

二、後臺不停的定位,Location Servicesip

三、後臺語音服務,voipit

四、報刊雜誌後臺自動下載更新,Newsstandio

.....import

實現

我用的是後臺定位,這是最簡單的方式了,通過測試一上午用戶都是在線的狀態,可是個人app是企業級的應用不須要上線,因此沒管審覈的問題,此解決方案可能形成沒法經過蘋果的審覈

引入頭文件

#import <CoreLocation/CoreLocation.h>

在AppDelegate.m內添加變量

@property(nonatomic,strong)CLLocationManager * locationManager;

app啓動後建立實例,設置代理

self.locationManager = [[CLLocationManager alloc] init];

    self.locationManager.delegate =self;

app進入後臺之後,持續定位

[self.locationManager startUpdatingLocation];

相關文章
相關標籤/搜索