홈>
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
관련 질문
- ios : MVVM을 사용하여 JSON을 모델로 디코딩
- ios : Swift로 외부 USB 저장소에 데이터 쓰기
- ios : SwiftUI(WatchKit)에서 원형 버튼 배경 제거
- ios : spriteKit을 사용하여 신속하게 원을 그리는 방법은 무엇입니까?
- ios : Gesturer Recognizer 이전에 UIResponder를 어떻게 넣을 수 있습니까?
- ios : 건강 키트 -내 건강 데이터와 함께 공유 건강 데이터 가져오기
- Xcode(iOS 앱)는 개인 저장소에서 호스팅되는 swift 패키지를 어떻게 사용할 수 있습니까?
- ios : ViewDidLoad를 호출하는 ViewController 간에 분리하는 방법
- ios : View Model을 전달하여 ViewController 초기화하기
- ios : Apple Pass 카드에 버튼을 추가하는 방법
다음 코드와 같이UNNotificationRequest를 호출하기 전에content.categoryIdentifier = "COLOR_ACTION"을 추가해야합니다.
알림을 드래그 할 때의 결과는 다음과 같습니다.