I am implementing the ability to add and delete user-created events from the iOS Calendar from within my app. I have coded the request for permission to access Calendar for when the user creates an event, and it's working great. I save the event on a server, and I allow them to later delete the event, and when that occurs I delete the event from the Calendar as well. It is possible someone could create an event outside of this app, open the app, then delete their appointment that is fetched from the server. There is no event stored in Calendar in this case, yet it still needs to look to see if one exists to try to delete it, and it fails because I did not ask for the user's permission to get access to the Calendar in this case. I am implementing the ability to add and delete