티스토리 뷰
/* AppDelegate.Swift */
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) {(granted, error) in
}
return true
}
center.addObserver(self, selector: #selector(becomeActive),
name: UIScene.didActivateNotification,
object: nil)
/* ViewController */
func addNotification(at date: Date, title: String, message: String) {
let components = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: false)
let content = UNMutableNotificationContent()
let identifier = "\(Date().timeIntervalSince1970)" // 알림 구분값
content.title = title
content.body = message
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request, withCompletionHandler: { error in
if let error = error {
print(error)
}
})
}
addNotification(at: now.addingTimeInterval(5), title: "title", message: "message")
UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
'개발 > TIL(Today I Learned)' 카테고리의 다른 글
iOS) Xcode 스토리보드 레이아웃 객체 크기 보기 (0) | 2021.09.30 |
---|---|
Swift) 카메라 사용 가능 여부 확인하기 (0) | 2021.09.22 |
Swift) Extension UIView (0) | 2021.09.22 |
Swift) UITableViewCell에서 imageView 변수명 (0) | 2021.09.22 |
Xcode) 디버깅 (0) | 2021.09.21 |
댓글