If you try to execute some function in your application after a 15 second delay, you can use something like this:
[self performSelector:@selector(yourMethod) withObject:nil afterDelay:15];
EventKit is designed to set local notifications for the user, which can be shown whether the user will launch your application or not. They are exactly reminiscent of push notifications, except that they are stored locally on the user device and do not require a network connection.
If you are trying to add a snooze function to an EventKit notification, you can implement it in your application using the ApplicationDidLoadWithOptions method. This method is called whenever the user clicks the OK button in his local notification. As far as I know, there are no built-in snooze functions in the EventKit infrastructure.
source share