まず第一には次のようにEventKitUIインポートする必要があります。
輸入EventKitUI
とデリゲートを追加します。EKEventEditViewDelegate
として渡されたデータを使用して新しいイベント画面を開くには、次のコードを追加します。
let eventStore = EKEventStore()
eventStore.requestAccess(to: .event, completion: {(_ granted: Bool, _ error: Error?) -> Void in
if granted {
let event = EKEvent(eventStore: eventStore)
event.title = "My Event Test 1"
//event.location = location;
event.startDate = Date()
event.endDate = event.startDate.addingTimeInterval(60 * 30)
//event.notes = notes;
let controller = EKEventEditViewController()
controller.eventStore = eventStore
controller.event = event
controller.editViewDelegate = self
self.present(controller, animated: true, completion: { _ in })
}
})
ユーザーの操作に応じて応答を処理します。
func eventEditViewController(_ controller: EKEventEditViewController, didCompleteWith action: EKEventEditViewAction) {
switch (action) {
case .canceled:
// User tapped "cancel"
break;
case .saved:
// User tapped "save"
break;
case .deleted:
// User tapped "delete"
break;
}
self.dismiss(animated: true, completion: nil)
}
EventKitは、あなたのアプリを離れることなく、Appleのカレンダーでイベントを作成させます。 –
@DavidShawありがとうございますが、Eventkitは追加されたイベントの後に変更を許可しません –