[swift] Swift에서 로컬 알림 발생 시 앱 아이콘에 뱃지 표시하는 방법
Swift에서 로컬 알림을 사용하여 iOS 앱에서 알림을 발생시키면, 앱 아이콘에 뱃지를 표시할 수 있습니다. 사용자가 알림을 받지 않은 경우, 앱 아이콘에 뱃지를 표시함으로써 새로운 알림이 있는 것을 시각적으로 알릴 수 있습니다.
아래는 Swift에서 로컬 알림 발생 시 앱 아이콘에 뱃지를 표시하는 방법입니다:
- 먼저,
UIApplication.shared.applicationIconBadgeNumber
를 사용하여 뱃지 값을 설정할 수 있습니다. 이 값을 수정하여 원하는 뱃지 숫자를 설정할 수 있습니다.
UIApplication.shared.applicationIconBadgeNumber = 1
- 알림이 발생한 시점에 위의 코드를 추가해야 합니다. 일반적으로 알림이 발생하는 시점에는
application(_:didReceiveRemoteNotification:)
또는userNotificationCenter(_:didReceive:withCompletionHandler:)
메서드를 사용합니다.
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
// 알림이 도착한 시점에 뱃지 값 설정
UIApplication.shared.applicationIconBadgeNumber = 1
}
또는, UNUserNotificationCenterDelegate
프로토콜을 구현한 후 userNotificationCenter(_:willPresent:withCompletionHandler:)
메서드를 사용할 수도 있습니다.
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
// 알림이 도착한 시점에 뱃지 값 설정
UIApplication.shared.applicationIconBadgeNumber = 1
completionHandler(.alert) // 알림 배너 표시
}
- 앱을 시작할 때 현재 알림의 뱃지 값을 초기화해야 합니다.
applicationDidFinishLaunching(_:)
메서드에서 뱃지 값을 초기화할 수 있습니다.
func applicationDidFinishLaunching(_ application: UIApplication) {
// 앱 시작 시 뱃지 값 초기화
UIApplication.shared.applicationIconBadgeNumber = 0
}
위의 단계를 따라하면 로컬 알림 발생 시 앱 아이콘에 뱃지를 표시할 수 있습니다. 사용자는 뱃지를 통해 새로운 알림이 있는 것을 쉽게 확인할 수 있습니다.
더 자세한 내용은 Apple 개발자 문서를 참조하세요.