iOS でアプリを Background Mode で動かし、Background fetch をする
まず
次に
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { ・ ・ /* Background fetch */ UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum) /* END: Background fetch */ return true }
↑の記述がないと動きません。
処理内容を書きます
````swift:AppDelegate.swift func application(application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
// ここに処理内容
println("Background fetch foo")
completionHandler(UIBackgroundFetchResult.NewData)
} ````
completionHandlerで、UIBackgroundFetchResult.NoData、UIBackgroundFetchResult.Failed、UIBackgroundFetchResult.NewDataのいずれかのステータスを返します。
確認
Debug > Simulate Background Fetch でシミュレーターを動かします。
動きました。
シミュレーター上でアプリをバックグラウンド状態にしても動きます。