public void Subscribe() { if (Subscribed) { return; } var truePredicate = NSPredicate.FromValue(true); var itemSubscription = new CKSubscription(ItemRecordType, truePredicate, CKSubscriptionOptions.FiresOnRecordCreation); var notification = new CKNotificationInfo { AlertBody = "New Item Added", ShouldSendContentAvailable = true }; itemSubscription.NotificationInfo = notification; publicDatabase.SaveSubscription(itemSubscription, (sub, error) => { if (error != null) { Console.WriteLine("An error occured: {0}", error.LocalizedDescription); return; } Console.WriteLine("Subscribed to Item"); var defaults = NSUserDefaults.StandardUserDefaults; defaults.SetBool(true, "subscribed"); defaults.SetString(sub.SubscriptionId, "subscriptionID"); }); }