🐡

Swift バッジカウントを設定

2024/09/04に公開

iOS 16.0以降では、UNUserNotificationCenterの新しいAPIを使用してバッジカウントを設定し、iOS 16.0未満では従来のUIApplicationを使用してバッジカウントを設定します。

#availableディレクティブって??

#availableディレクティブは、指定されたiOSバージョン以上でのみ利用可能な機能を使用するために使用されます。iOS 16.0以降でのみ新しい方法を使用し、それ以前のバージョンでは別の方法にフォールバックします。

1. iOS 16.0以上の場合

iOS 16.0以降では、UNUserNotificationCenter.current().setBadgeCount()を使用してバッジカウントを設定します。このメソッドは、UNUserNotificationCenterクラスで導入されたもので、通知に関連するバッジ数を直接設定します。

if #available(iOS 16.0, *) {
    // 通知を許可しないと機能しない
    UNUserNotificationCenter.current().setBadgeCount(${number})
} else {
    // Fallback on earlier versions
    UIApplication.shared.applicationIconBadgeNumber = ${number}
}

2. iOS 16.0未満の場合

iOS 16.0未満では、従来のUIApplicationを使用してアプリケーションのアイコンバッジ番号を設定します。

UIApplication.shared.applicationIconBadgeNumber = ${number}

参考文献

Discussion