2012-01-09 19 views
1

私はというアプリをbackgroundで実行するよう登録しています。私はプロセスを完了したときにUILocalNotificationも表示します。これは正しく表示され、アプリが開いている場合はNotification Center(上から下にスワイプ)にも表示されます。しかし、私のアプリがバックグラウンドにあるときにUILocalNotificationと呼んだり、画面がロックされたりすると、私は通知を受け取りますが、Notification Centerには表示されません。アプリがバックグラウンドのときに通知センターにUILocalNotificationが表示されない

私は正しく私のアプリデリゲート(iOSの5バグ回避)に通知するために登録しています:

// Register for notifications 
    [[UIApplication sharedApplication]registerForRemoteNotificationTypes: 
    UIRemoteNotificationTypeBadge | 
    UIRemoteNotificationTypeAlert | 
    UIRemoteNotificationTypeSound]; 

通知を呼び出す:

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
localNotif.alertBody = msg; 
localNotif.alertAction = NSLocalizedString(@"View", nil); 
localNotif.soundName = @"alert.caf"; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotif]; 
[localNotif release]; 

は、これはバグですか?通知がユーザーに表示されていて、他の時間ではなくても、アプリが開いているときにのみNotification Centerに表示されるのはなぜですか?

答えて

0

投稿したコードの外観からは、コードがバックグラウンドで実行されるようには見えません。バックグラウンドで偶然が発生したときにローカル通知を表示しようとしているようです。あなたはこれをすることはできません。ローカル通知は、アプリが実行されていないときにアプリが実行されている間にスケジュールされ、その後アプリが終了してもトリガーされます。 プッシュ通知を使用する必要があります。アップルのdocumentationをご覧ください。

EDIT:通知センターの設定でアプリを有効にしていますか?

+0

いいえ、コードはバックグラウンドで完全に機能します。それは広範にテストされています。地元の通知はバックグラウンドでも機能し、通知センターには表示されません。 –

+0

通知センターの設定でアプリが有効になっていますか? – DGund

+0

はい、そうです。アプリが開いている場合は通知センターに表示されます。バックグラウンドでは通知アラートのみが表示されます。 –

0

あなたのInfo.plistファイルにUIBackgroundModesキーを追加しましたか?

ロケーションにUIBackgroundModesキーを設定する必要があります。

1

プッシュ通知も使用していますか?あなたはローカルを使用している場合はregisterForRemoteNotificationTypes:に電話する必要はないと私は信じています。

チェックHere