42

アプリの起動時にプッシュ通知のバッジ数をクリアしたいのですが、以下のコードをどこに設定すればよいかわかりません。バッジ数のクリアについて簡単に説明してください。

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
4

6 に答える 6

76

これを設定する必要があります:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

これらのAppDelegateメソッドのいずれかで、アプリケーションが起動されてバックグラウンドに送信された場合、アプリケーションを起動するdidFinishLaunchingWithOptionsメソッドは呼び出されないため、次のいずれかのメソッドを使用します。

- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application

Swift 3+の場合

- func applicationWillEnterForeground(_ application: UIApplication)
- func applicationDidBecomeActive(_ application: UIApplication)
于 2012-12-26T09:46:27.027 に答える
3

これを行うためのより良い方法は、バッジ番号を減算する関数を作成し、ユーザーがバッジをクリアできるようにする UIButton を作成することです。デフォルトのメール アプリケーションでは、メールを 1 通読むと、バッジのアイコンから 1 つ差し引かれます。起動時または再開時に 0 を設定しないでください。意味がなく、アプリの見栄えが悪くなります。ユーザーがそのイベントとやり取りするのが最善の方法である場合は、それを差し引きます。アプリの起動時にアプリをリセットするだけで、アプリをより専門的にすることができます。

于 2012-12-26T10:01:13.317 に答える
1

そのコードはコード内のどこにでも設定できます。問題ありません。しかし、一般的には、UIApplicationDidFinishLaunching..

于 2012-12-26T09:46:37.013 に答える