title: How do I setup local notification repeated each 7, 14, 28 days from specific day
body: <p>I need to push local notification each 7, 14, 28 days.
  I had successfully setup to push weekly (7 days)
  I am not fully understand how DateComponents works.
  IE: I need to repeat notification each minute, I do <code>Calendar.current.dateComponents([.second], from: fireDate)</code> How does it work with repeated 14 days, 28 days.</p>
  
  <pre><code>// datetime is timestamp which I can choose: ie: May 02, 2029
  
  let fireDate = Date(timeIntervalSince1970: Double(truncating: datetime) / 1000)
          let fireDateComps = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: fireDate)
  
          let content = UNMutableNotificationContent()
          content.title = title
          content.body = note
          content.sound = UNNotificationSound.default
          content.categoryIdentifier = "timer.category"
  
          var triggerDate = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: fireDate)
          var repeats = false
          switch (recurring) {
          case "weekly":
              triggerDate = Calendar.current.dateComponents([ .weekday , .hour , .minute , .second], from: fireDate)
              repeats = true
              print("reminder repeat weekly")
          case "every_two_weeks":
              print("triggerDate 1 \(fireDate)")
              let aaa = Calendar.current.date(byAdding: .day, value: 14, to: fireDate)
              print("triggerDate 2 \(aaa)")
              triggerDate = Calendar.current.dateComponents([.day, .hour, .minute, .second], from: aaa!)
              print("triggerDate 3 \(triggerDate)")
              repeats = true
              print("reminder repeat every_two_weeks")
          case "every_four_weeks":
              triggerDate = Calendar.current.dateComponents([ .month , .hour , .minute , .second], from: fireDate)
              repeats = true
              print("reminder repeat every_four_weeks")
          default:
              triggerDate = Calendar.current.dateComponents([ .year, .month, .day , .hour , .minute , .second], from: fireDate)
              repeats = false
              print("No recurring")
          }
          let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDate, repeats: repeats)
          print("trigger \(trigger), firstRepeatingDate \(triggerDate)")
          let request = UNNotificationRequest(identifier: id,
                                              content: content, trigger: trigger)
          self.center.add(request) {(error) in
              if let error = error {
                  Log.nonFatal("Save notification failed \(String(describing: error))")
                  reject("reminder", "Save reminder notification failed", error)
              }
              print("Saved recurring notification")
              resolve(true)
          }
  </code></pre>