[swift] Swift에서 로컬 알림의 버튼 및 액션 설정하는 방법

로컬 알림은 iOS 애플리케이션에서 중요한 역할을 합니다. 알림에는 사용자가 특정 작업을 수행할 수 있는 버튼과 액션이 포함될 수 있으며, 이는 사용자 경험을 향상시키는 데 도움이 됩니다. 이 글에서는 Swift에서 로컬 알림의 버튼 및 액션을 설정하는 방법에 대해 알아보겠습니다.

로컬 알림 생성하기

먼저 로컬 알림을 만들어야 합니다. 다음 코드는 알림의 기본적인 설정을 수행하는 예제입니다.

import UIKit
import UserNotifications

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
            if granted {
                self.scheduleLocalNotification()
            }
        }
    }
    
    func scheduleLocalNotification() {
        let content = UNMutableNotificationContent()
        content.title = "알림 제목"
        content.body = "알림 내용"
        
        // 알림의 버튼 및 액션 설정
        let action = UNNotificationAction(identifier: "actionIdentifier", title: "버튼 타이틀", options: [])
        let category = UNNotificationCategory(identifier: "categoryIdentifier", actions: [action], intentIdentifiers: [], options: [])
        
        UNUserNotificationCenter.current().setNotificationCategories([category])
        
        content.categoryIdentifier = "categoryIdentifier"
        
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
        
        let request = UNNotificationRequest(identifier: "notificationIdentifier", content: content, trigger: trigger)
        
        UNUserNotificationCenter.current().add(request)
    }
}

액션 및 버튼 설정하기

알림 객체를 생성한 후, UNNotificationAction을 이용하여 액션을 만듭니다. 각 액션은 고유한 식별자와 제목을 가지며, 필요에 따라 추가적인 옵션을 설정할 수도 있습니다.

다음으로 UNNotificationCategory를 생성하여 액션을 카테고리에 추가합니다. 카테고리는 알림의 버튼과 액션을 묶는 역할을 합니다.

이후 알림 내용에 categoryIdentifier를 설정하여 해당 알림에 버튼과 액션을 적용합니다.

let action = UNNotificationAction(identifier: "actionIdentifier", title: "버튼 타이틀", options: [])
let category = UNNotificationCategory(identifier: "categoryIdentifier", actions: [action], intentIdentifiers: [], options: [])

UNUserNotificationCenter.current().setNotificationCategories([category])

content.categoryIdentifier = "categoryIdentifier"

결론

Swift에서 로컬 알림의 버튼과 액션을 설정하는 방법을 알아보았습니다. 알림 객체를 생성하고, 액션을 만들어 카테고리에 추가하는 방식으로 버튼과 액션을 설정할 수 있습니다. 이를 통해 사용자가 알림을 받았을 때 좀 더 편리하게 작업을 수행할 수 있게 됩니다.

참고: