私のアプリケーションでは、アプリケーションがスタンバイ モードであっても、新しいコンテンツを取得して最新の状態に保つようにしています。そのために、iOS 7 の新しいマルチタスク機能を使用したいと考えています。
まず、Info.plistにキーfetch
を追加して、バックグラウンド フェッチを有効にしました。UIBackgroundModes
次に、AppDelegate で最小バックグラウンド フェッチ間隔を設定しました。
[app setMinimumBackgroundFetchInterval: UIApplicationBackgroundFetchIntervalMinimum]
そして最後に実装します:
(void) application : (UIApplication *)application performFetchWithCompletionHandler:(void(^) (UIBackgroundFetchResult))completionHandler
今、私はNSURLSession
やりたいことを達成するために使用する必要があります: - サーバーで新しい画像ファイルが利用可能かどうかを確認します - はいの場合はダウンロードします - 新しいコンテンツが利用可能であることをユーザーに通知するプッシュ通知
で次のようなことを試しますperformFetchWithCompletionHandler:
:
NSURLSession* session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration backgroundSessionConfiguration:@"download"]];
[session downloadTaskWithRequest:<#(NSURLRequest *)#> completionHandler:<#^(NSURL *location, NSURLResponse *response, NSError *error)completionHandler#>]
しかし、私は NSURLSession に慣れていません。誰かがそれを使用するサンプル コードを持っている場合は、喜んで試してみたいと思います。
タイ、ペビー