1. 程式人生 > >iOS Background Fetch 後臺應用程式重新整理的使用

iOS Background Fetch 後臺應用程式重新整理的使用

前言:寫這篇文章是由於最近在開發一款新的APP,以前開發的APP因為都屬於工具類,也沒有必要後臺重新整理,所以一直沒有使用該功能,這次正好用到,所以寫下記錄下,順便幫助自己加強記憶。 這個功能想必iOS程式猿們應該都知道了,畢竟在iOS7的時候就已經出來了,即時通訊的APP上一般都有使用該API,接下來就一起配置下。

一、配置

在開始建立 Background Fetch 功能,TARGETS->Capabilities->Background Modes,勾選 Background fetch,如果還需支援後臺遠端推送,則再勾選下面的 Remote notifications 即可,如下圖所示:

Background Fetch Capabilities

二、使用

1、首先在 AppDelegate 中的 didFinishLaunchingWithOptions: 方法中呼叫 setMinimumBackgroundFetchInterval: 方法

didFinishLaunchingWithOptions:

2、然後執行下面的代理方法,在該代理方法中請求相關資料並重新整理UI, 在這裡還要提下 UIBackgroundFetchResult 是個列舉值,有三個值, 分別為:
- UIBackgroundFetchResultNewData 成功拉取資料
- UIBackgroundFetchResultNoData 沒有新資料
- UIBackgroundFetchResultFailed 拉取資料失敗或者超時

performFetchWithCompletionHandler:

3、最後再首頁實現對應的方法即可

refreshNewObjectForFetchWithCompletionHandler:

三、除錯

如果以上步驟都做好,那麼就開啟模擬器除錯一下,先將模擬器上APP切換為多工模式,
除錯的方式有兩種:
第一種:在 Edit Scheme -> Run -> Options -> 勾選Launch due to a background fetch event

Edit Scheme
Launch due to a background fetch event

第二種:直接在 Xcode 選單欄 Debug -> Simulate Background Fetch 進行模擬

Debug

好了,以上就是一個簡單的後臺重新整理功能的開發和除錯,再複雜的功能也是同樣的思路,如有問題歡迎各路大神指點。
學無止境,技術上需要研究的東西太多太多。與大家一起學習一起進步才是王道。歡迎來探討各種技術問題。