0

iPhoneでバックグラウンドで実行されるアプリを設定するには??

4

2 に答える 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 に答える