public void Predicates() { if (Runtime.Arch == Arch.DEVICE) { Assert.Inconclusive("defaults are different on devices"); } var store = new EKEventStore(EKEntityMask.Reminder); var rem = EKReminder.Create(store); rem.Calendar = store.DefaultCalendarForNewReminders; NSError error; Assert.IsTrue(store.SaveReminder(rem, true, out error), "SaveReminder"); var predicate = store.PredicateForIncompleteReminders(null, null, new [] { rem.Calendar }); var mre = new ManualResetEvent(false); bool found = false; store.FetchReminders(predicate, l => { found = l.Any(ll => ll.ClassHandle == rem.ClassHandle); mre.Set(); }); Assert.IsTrue(mre.WaitOne(3000), "#1"); Assert.IsTrue(found, "#2"); mre.Reset(); predicate = store.PredicateForReminders(null); store.FetchReminders(predicate, l => mre.Set()); Assert.IsTrue(mre.WaitOne(3000), "#10"); mre.Reset(); predicate = store.PredicateForCompleteReminders(null, null, null); store.FetchReminders(predicate, l => mre.Set()); Assert.IsTrue(mre.WaitOne(3000), "#20"); Assert.IsTrue(store.RemoveReminder(rem, true, out error), "RemoveReminder"); }