前提・実現したいこと
datePicerを使用して、設定した時間になったら通知を1件送ることはできました。
これを通知の数を2個以上にしたいなと思っています。
以下のコードでは、2種類の通知の設定です。これを合わせて使いたいのですが、調べてみても片方しか使っていないものが多いため、わからずにいます。教えてもらえると嬉しいです。
該当のソースコード
@IBAction func setTimer(_ sender: Any) { //もし通知をオンにしていたら。 if (UIApplication.shared.currentUserNotificationSettings?.types.contains( UIUserNotificationType.alert))! { for i in 1...20 { let content = UNMutableNotificationContent() content.title = "上司" content.body = "起きろ!!朝だぞ! " content.sound = UNNotificationSound.default if let path = Bundle.main.path(forResource: "ii", ofType: "jpg") { content.attachments = [try! UNNotificationAttachment(identifier: "renchon", url: URL(fileURLWithPath: path), options: nil)] } // 直接日時を設定 let triggerDate = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: datePicker.date ) let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDate, repeats: false) let trigger2 = UNTimeIntervalNotificationTrigger.init(timeInterval: TimeInterval(0 + (3 * i)), repeats: false) // 通知リクエストの作成 let request = UNNotificationRequest.init(identifier: "CalendarNotification",content: content,trigger: trigger) UNUserNotificationCenter.current().add(request, withCompletionHandler: nil) } }else { let dialog = UIAlertController(title: "通知をオンにしてください。", message: "協力お願いします", preferredStyle: .alert) dialog.addAction(UIAlertAction(title: "設定する", style: .default, handler:{ action in let url = NSURL(string:UIApplication.openSettingsURLString)! UIApplication.shared.openURL(url as URL) })) self.present(dialog, animated: true, completion: nil) } } 通知を増やしたもの for i in 1...64 { let content = UNMutableNotificationContent() content.title = "上司" content.body = "起きろ!!朝だぞ! (i)回目!!" content.sound = UNNotificationSound.default let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: TimeInterval(0 + (3 * i)), repeats: false) let request = UNNotificationRequest.init(identifier: "identifier-(i)", content: content, trigger: trigger) UNUserNotificationCenter.current().add(request)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。