2012-01-18 18 views
5

私のiosアプリケーションの予定のローカル通知でアイコンのバッジを設定するのにいくつかの問題があります。applicationIconBadgeNumberをscheduleLocalNotificationでどのように設定しますか?

アプリケーションをロードした後にホーム画面をクリックすると、10秒後にローカル通知のポップアップが表示されます。ただし、アプリケーションアイコンのバッジ番号が設定されていません。私は次のコードを使用しています。

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) return; 
NSDate *fireTime = [[NSDate date] addTimeInterval:10]; // adds 10 secs 
localNotif.fireDate = fireTime; 
localNotif.alertBody = @"New Message!"; 
localNotif.applicationIconBadgeNumber = 1; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

なぜローカル通知がポップアップしますが、applicationIconBadgeNumberが設定されないのはわかりません。私は代わりに次のコードを実行することによってアイコンのバッジ番号を手動で設定することができます。

[UIApplication sharedApplication].applicationIconBadgeNumber = 1; 

答えて

3

あなたはSimulatorでデバッグしていますか?シミュレータでも同じ問題が発生しますが、コードは自分のiPhoneでうまく動作します。

+1

おかげで、私は、IOSに4.3をインストールしてテストした...スウィフトでiOS用のコード8+です。それはそれで動作します。だから、iphone 5シミュレータのバグだったに違いない。 – user1157352

3

すべてのバッジ通知タイプにアプリケーションを登録していますか?

[[UIApplication sharedApplication]registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge]; 

また、通知設定でバッジを無効にしていないことを確認してください。

+3

質問はローカル通知に関するものです – Andreas

2

はここ

let notificationSettings = UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert , UIUserNotificationType.Badge, UIUserNotificationType.Sound], categories: nil) 
application.registerUserNotificationSettings(notificationSettings)