Однажды вы можете вычислить дату, которая будет через 28 дней после:
let formatter = DateFormatter()
formatter.dateFormat = "dd.MM.yyyy"
let calculatedDate = formatter.date(from: yourDate)
let notificationTime = Calendar.current.date(byAdding: .day,value: 28,to: calculatedDate)!
и сравнить ее с желаемой датой. Если равен установленному уведомлению.
Надеюсь, это поможет ...