0

プッシュ通知の受信に関するタスクを実行したい。- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfoメソッドでコードを書きました。アプリケーションがフォアグラウンドにあるときは正常に動作していますが、アプリケーションがバックグラウンドにあるときは上記のメソッドが呼び出されません。アプリケーションがバックグラウンドにあるときにこのメソッドを呼び出す方法はありますか? このアプリは itunes に投稿するためのものではないので、良い裏技はありますか? ;)

4

1 に答える 1

0

アプリケーションがバックグラウンドで実行されるたびに、すべての通知がバックグラウンドスレッドで発生し始めます。だからあなたはこのようなことをする必要があります。

...
[[NSNotificationCenter defaultCenter] addObserver:self       
                                         selector:@selector(processNotificationInBackground:) 
                                             name:TheNameOfTheNotification 
                                           object:nil];
...

- (void) processNotificationInBackground:(NSNotification *)not {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        /* your background notification processing code goes here */
        /* note that you should transfer control back to the main queue if you need to update your UI */
    }
}
于 2012-12-04T06:16:57.437 に答える