0

次の問題があります。「私のアプリは、ユーザーに実用的な情報を表示するためだけに、独自のサーバーからリモート通知を受け取ります。アイコンバッジは必要ないため、使用していません。アプリケーションユーザーがリモコンに触れた場合iOS通知センターからの通知 私のアプリケーションは問題なくそれをキャッチすることができます, 私はからオプションを受け取るapplication:didFinishLaunchingWithOptions:か, アプリケーションが開いている場合はapplication:didReceiveRemoteNotification:セレクターでリモート通知をキャッチします. しかし, iOS通知センターからこれらの通知を削除したい.は単なるメッセージであり、別の投稿で答えを探していました。アプリでこれらの解決策を試しましたが、うまくいきません。」

いくつかの解決策は次のとおりです。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {  
    [application cancelAllLocalNotifications];  
    application.applicationIconBadgeNumber = 0;  
    ...  
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    ...  
    if (launchOptions) {  
        [application cancelAllLocalNotifications];  
        application.applicationIconBadgeNumber = 0;  
    }  
    ...  
}

また、リモート通知はまだ iOS 通知センターにあります。トリッキーなコードを使用せずにその場所から削除するにはどうすればよいですか、それとも iOS SDK の問題ですか? アプリに入った後、Tweetbot アプリが iOS 通知センターからリモート通知を削除するため、問題が発生する可能性はなかったと思います。

よろしく!

4

2 に答える 2

0

まず、コントロール パネルでバッジ通知がオフに設定されていないことを確認します (バッジに最初から数字がある場合、コントロール パネルでバッジがオフになっていることに気付きました。0 に設定することはできません)。 .

オフになっていない場合は、applicationIconBadgeNumber を 0 に設定するだけでなく、すべてのローカル通知をキャンセルしてみてください (キューに入れていなくても、最初にそれらのリストを取得してからキャンセルし、再度登録し直してください)。 . はい、ローカル通知をクリアすると、リモート通知のバッジ番号をクリアできるようになる可能性があります。

于 2012-06-11T02:57:35.060 に答える