public async Task AddReminder(string title, string notes, DateTime date) { try { var result = await _eventStore.RequestAccessAsync(EKEntityType.Reminder); if (result.Item1) { EKReminder reminder = null; var predicat = _eventStore.PredicateForReminders(null); var reminders = await _eventStore.FetchRemindersAsync(predicat); reminder = reminders.Where((EKReminder arg) => !arg.Completed && arg.Title == title).FirstOrDefault(); if (reminder == null) { reminder = EKReminder.Create(_eventStore); } reminder.Title = title; EKAlarm timeToRing = new EKAlarm(); timeToRing.AbsoluteDate = ConvertDateTimeToNSDate(date); reminder.AddAlarm(timeToRing); reminder.Calendar = _eventStore.DefaultCalendarForNewReminders; reminder.Notes = notes; NSError error; _eventStore.SaveReminder(reminder, true, out error); if (error != null) { Debug.WriteLine(error.Description); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }