アプリの起動後にプッシュ通知バッジカウントをクリアしたいのですが、以下のコードを設定する場所がわかりません。バッジカウントのクリアについて簡単に説明してください。
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
これを設定する必要があります。
[UIApplication sharedApplication] .applicationIconBadgeNumber = 0;
これらのいずれかでAppDelegateメソッドが起動され、アプリケーションがバックグラウンドに送信された場合、アプリケーションを起動するとdidFinishLaunchingWithOptions
メソッドは呼び出されないため、これらのメソッドのいずれかを使用します。
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
Swift 3+
- func applicationWillEnterForeground(_ application: UIApplication)
- func applicationDidBecomeActive(_ application: UIApplication)
in Swift 3 +
あなたのAppDelegate.Swiftで、あなたのアプリケーションがアクティブになったら、以下のようにすべてクリアします。
func applicationDidBecomeActive(_ application: UIApplication) {
UIApplication.shared.applicationIconBadgeNumber = 0
}
さて、これを行うより良い方法は、バッジ番号を減算する関数を作成し、ユーザーがバッジをクリアできるようにするUIButtonを作成することです。デフォルトのメールアプリケーションでは、メールを1通読むと、バッジからアイコンから1が差し引かれます。起動時または再開時に0に設定しないでください。これは無意味であり、アプリが安っぽく見えます。ユーザーがそのイベントを操作するときに減算するのが最善の方法です。アプリをよりプロフェッショナルにしましょう。ベッドの意味を知っているアプリの起動時にリセットするだけであれば、アプリを使用しないこともできます。
そのコードはコード内のどこにでも設定できます。関係ありません。ただし、通常はUIApplicationDidFinishLaunching
。に保持されます。
UIApplication.shared.applicationIconBadgeNumber = 1
UIApplication.shared.applicationIconBadgeNumber = 0