そういえば、iOSのEventKitでiCloud上にcalendarを作りたい時はこうするんだぜ、と海外のblogに書いてあったのですが
EKSource *theSource = nil; for (EKSource *source in eventStore.sources) { if (source.sourceType == EKSourceTypeCalDAV && [source.title isEqualToString:@"iCloud"]) { theSource = source; break; } } // theSourceを使ってsaveCalendarする
iCloud上にカレンダーを作って、それに書き込んで、そのupdate eventが走るのを待ってViewを更新する、みたいなことをするとネットワーク越しにカレンダーをいじっているせいでクッソみたいなレスポンス速度になってしまうので、やっぱりlocalに作るか、どうしても使いたいならlocalとiCloudの両書きにした方がいいとおもいます。