我可以使用我的应用程序中的预填充数据打开 IOS 日历应用程序的将事件添加到日历屏幕吗?

Can I open the the add event to calendar screen of the IOS calendar app with pre-filled data from my app?

我想在 IOS 日历中添加一个新事件,我知道这可以使用 EventKit 轻松完成。但是我不想直接添加事件,我希望日历应用程序在 "add event" 屏幕上启动,该屏幕预填充了从我的应用程序传递的数据,如所附屏幕截图所示,用户可以拥有用于编辑事件详细信息、保存事件或取消事件的选项。我知道我可以使用 "calshow:" NSURL 和 UIApplication.shared.open 函数启动日历应用程序,但是这只会在我通过它的那一天打开,而不是我想打开的 "add event" 屏幕。

我四处寻找解决方法,但一无所获。

有什么建议吗?

add event screen to be opened when calendar is launched

是的,您可以为此使用 EventKitUI 框架。

使用EKEventEditViewController

Presented modally, the event edit view controller provides a way for users to add new events, as well as edit or delete events from their calendar.

参考:Apple

对于预填充值,请使用 event 属性.

// Create event 
   var store = EKEventStore()
   var event = EKEvent(eventStore: store)
   event.title = "Title"
        //event.startDate = startDate
        //event.endDate = currentEvent?.endDate


  let eventViewController: EKEventEditViewController = EKEventEditViewController()
  eventViewController.event = event
  eventViewController.eventStore = store
  eventViewController.editViewDelegate = self

present(eventViewController, animated: true, completion: nil)