안녕하세요. 린다입니다.
로컬 알림에 이미지 넣는 방법이에요.
let imageName = "AlarmImage"
guard let imageURL = Bundle.main.url(forResource: imageName, withExtension: "png") else {
print("⏰ ALARM DEBUGL: 이미지 URL이 설정되지 않았습니다.")
return
}
do {
let attachment = try UNNotificationAttachment(identifier: imageName, url: imageURL, options: nil)
content.attachments = [attachment]
print("⏰ ALARM DEBUG: Attachment 실행중")
} catch {
print("⏰ ALARM DEBUG: 알람 이미지 로딩 중 에러가 발생하였습니다. \(error.localizedDescription)")
}
..엥 오타 무시해주세요 ^_^...!!!!!!!!
해당하는 이미지 파일은 프로젝트 파일에 넣어주면 됩니다.
전체코드는
var dateComponents = DateComponents()
dateComponents.calendar = Calendar.current
// 일요일(1), 월요일(2), 화요일(3), 수요일(4), 목요일(5), 금요일(6), 토요일(7)
dateComponents.weekday = 6
dateComponents.hour = 20
dateComponents.minute = 40
let content = UNMutableNotificationContent()
content.title = "Speak Your Mind2 💟"
content.sound = UNNotificationSound.default
content.subtitle = "마음을 기록한지 3일이 지났어요."
content.body = "오늘 하루는 어뗐는지, 힘든 일, 기쁜 일을 기록해보는 건 어떨까요?"
let imageName = "AlarmImage"
guard let imageURL = Bundle.main.url(forResource: imageName, withExtension: "png") else {
print("⏰ ALARM DEBUG: 이미지 URL이 설정되지 않았습니다.")
return
}
do {
let attachment = try UNNotificationAttachment(identifier: imageName, url: imageURL, options: nil)
content.attachments = [attachment]
print("⏰ ALARM DEBUG: Attachment 실행중")
} catch {
print("⏰ ALARM DEBUG: 알람 이미지 로딩 중 에러가 발생하였습니다. \(error.localizedDescription)")
}
print("⏰ ALARM DEBUG: 트리거 생성중")
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { error in
guard error == nil else { return }
print("⏰ ALARM DEBUG: first 알림 생성 완료!")
}
'Swift' 카테고리의 다른 글
Swift, localization 설정하는 방법 (feat, Tuist) (0) | 2024.02.28 |
---|---|
Swift, Firebase에서 Apple Login 탈퇴 구현하기 (0) | 2024.02.26 |
Firebase FCM 사용중 발생하는 '-[FIRInstallationsItem registeredInstallationWithJ 에러 해결 (2) | 2024.02.22 |
Swift, FCM 사용 중 발생하는 FirebaseAppDelegateProxyEnabled 관련 에러 해결하기 (0) | 2024.02.22 |
Tuist의 의존성 관리 방법과 Ignoring duplicate libraries: '-lc++' 에러 해결하기 (0) | 2024.02.09 |