iPhoneでバックグラウンドで実行されるアプリを設定するには??
質問する
174 次
2 に答える
1
アプリケーションがバックグラウンドに移動するように指示された後、限られた時間だけタスクを実行できますが、指定された期間のみです。これより長く実行すると、アプリケーションが終了します。この方法については、iOS アプリケーション プログラミング ガイドの「バックグラウンドでの長時間実行タスクの完了」セクションを参照してください。
于 2012-07-26T05:03:03.427 に答える
1
次のコードを参照してください。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication* app = [UIApplication sharedApplication];
//Create a task object
__block UIBackgroundTaskIdentifier backgroundTask;
backgroundTask = [app beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTask != UIBackgroundTaskInvalid) {
[app endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTask != UIBackgroundTaskInvalid) {
// do stuff
[app endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
}
});
});
}
于 2012-07-26T02:40:06.790 に答える