将日历事件添加到Microsoft Outlook日历

时间:2016-08-05 17:25:30

标签: ios outlook

我的iOS应用程序我正在寻找一种方法,让用户可以选择将事件添加到标准日历应用程序,或者添加到MS Outlook日历,如果已安装该应用程序。

到目前为止,我无法找到向Outlook添加事件的方法。是否有URL方案或其他方式将事件添加到Outlook日历?

2 个答案:

答案 0 :(得分:0)

SWIFT 4版本。

几周前,我处于相同的情况。因此,事实证明,当您将Outlook或Google Mail应用添加到手机并同步日历时。一个带有Caps的新日历将出现在您的ios本机日历中。所以,这样说。您可以按名称和使用本机应用程序的相同方式访问日历。这就是我最终访问Outlook日历并向其中添加事件的方式。到目前为止,我不确定OUTLOOK iOS本机应用程序本身是否将与Outlook服务器端的日历同步。我尚未对此进行测试。验证后会更新。

如何访问日历并向其中添加事件,如下所示:

//first step 
func isOutlooktAndCalendarPresent(){
    for cal in eventStore.calendars(for: EKEntityType.event) as [EKCalendar]{
        //External calendars appear in caps.
        if cal.title == "OUTLOOK" {
            self.outlookCalanderIsAvailable = true}
        if cal.title == "GMAIL" {
            self.calendarOptionIsAvailable = true}
        //this will be the default calendar.
        else if cal.title == "Calendar"{
            self.calendarOptionIsAvailable = true}}
}

//second step
func presentOptionsForCalerdar(){...}

//third step
func addEventToCalendar(title: String,
                        description: String?,
                        startDate: Date,
                        endDate: Date,
                        branchLocation: String?,
                        calendar: String,
                        completion: ((_ success: Bool, _ error: Error?) -> Void)? = nil){...}

//calendar step 4
//choose the calendars
func getCalendar(calType: String) -> EKCalendar{
    var calUID:String = "?"

    for cal in eventStore.calendars(for: EKEntityType.event) as [EKCalendar]{
        if cal.title == calType {
            calUID = cal.calendarIdentifier
        }
    }
    let calendar = eventStore.calendar(withIdentifier: calUID)
    if let cal = calendar{
        return cal
    }else{
        if let cal = self.eventStore.defaultCalendarForNewEvents{
            return cal
        }
    }
    return EKCalendar()
}

//step 5
func gotoAppleCalendar(date: Date) {... make sure you dispatch this in  DispatchQueue.main.async {...}}

嗯,这在很大程度上是对我有用的。希望它能帮助任何人。

答案 1 :(得分:0)

我正在调查,发现了这个网址:

ms-outlook://events/new?title=yourTitle

此链接适用于react-native,因此我想它也适用于本机iOS和Android。 我还没有弄清楚其他参数(日期,状态,描述),但是希望对您有帮助!