>

Apple의 코드를 참조했지만 작동하지 않습니다. 다음은 내 코드입니다.

override func viewDidLoad() {
    super.viewDidLoad()
    let center = UNUserNotificationCenter.current()
    center.delegate = self
    center.requestAuthorization(options: [.alert,.sound]) { (granted, error) in
        print(granted)
    }
    //Set content
    let content = UNMutableNotificationContent()
    content.title = "Hello World"
    content.body = "My First Notification App"
    content.sound = UNNotificationSound.default()
    //Set trigger
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
    //Set request
    let uuid = UUID().uuidString
    let request = UNNotificationRequest(identifier: uuid, content: content, trigger: trigger)
    //Set actions
    let blueAction = UNNotificationAction(identifier: "ACTION_BLUE", title: "Blue", options: .init(rawValue: 0))
    let greenAction = UNNotificationAction(identifier: "ACTION_GREEN", title: "Green", options: .init(rawValue: 0))
    let category = UNNotificationCategory(identifier: "COLOR_ACTION", actions: [blueAction,greenAction], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: "", options: .customDismissAction)
    center.setNotificationCategories([category]) //category
    center.add(request) { (err) in
        if err != nil {
            print(err)
        }
    }

    // Do any additional setup after loading the view, typically from a nib.
}

여기 UNUserNotificationCenterDelegate가 있습니다

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    if response.notification.request.content.categoryIdentifier == "COLOR_ACTION" {
    }
    completionHandler()
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.alert,.sound])
}

노트가 잘못되었다고 생각하지만 작동하지 않습니다. 누군가 나를 도울 수 있기를 바랍니다. 저는 정말로 혼란 스럽습니다.

  • 답변 # 1

    다음 코드와 같이UNNotificationRequest를 호출하기 전에content.categoryIdentifier = "COLOR_ACTION"을 추가해야합니다.

       //Set content
        let content = UNMutableNotificationContent()
        content.title = "Hello World"
        content.body = "My First Notification App"
        content.sound = UNNotificationSound.default()
        content.categoryIdentifier = "COLOR_ACTION"
    
    

    알림을 드래그 할 때의 결과는 다음과 같습니다.

  • 이전 amazon web services - EC2 인스턴스의 DiskReadBytes 지표와 EBS의 VolumeReadBytes 지표의 차이점은 무엇입니까?
  • 다음 Google 클라우드 서비스에서 추적을 요청할 수 있습니까?