To connect to icloud calendar is not easy task at all. The reason behind this is, iclound does not provide any APIs to connect with it (Click on the link to read more http://blog.sunrise.am/post/74146344289/about-icloud) for security reason. I have done my research on this calendar feature and found some solution, click see below links for solution.
3) Using these ids and callback url we can request for authorization code. Using this authorization code we will request for access token to do the operation on user's calendar (http://www.cronofy.com/developers/api#authorization).
We will keep this token with us for future access (we need to refresh it periodically).
The authorization process seems like we currently have for Google calendar. But since I did not check it practically, so we need to check this more with Cronofy.
4) After following above steps, we can do the following actions with user's calendars
a) We can get the list of all calendars.
b) We can create/update events for a specific calendar.
c) We can delete events.
d) We can read events.
5) All the communication will happen in JSON format.
I have explain the flow in the form of diagram too which you can find this in attached icloud_cronofy.png file.