iOS - 无法使用 EventKit 将日历事件添加到 Gmail 日历

Posted

技术标签:

【中文标题】iOS - 无法使用 EventKit 将日历事件添加到 Gmail 日历【英文标题】:iOS - Can't add calendar event to Gmail calendar with EventKit 【发布时间】:2013-11-22 18:36:04 【问题描述】:

我想将新的日历事件添加到默认 ios 日历。在用户使用 Gmail 同步日历之前,这一切正常。

我使用以下代码:

    if (!calendar) 

    calendar = [EKCalendar calendarForEntityType:EKEntityTypeEvent eventStore:eventStore];

    // set calendar name
    [calendar setTitle:@"My calendar"];

    EKSource *theSource = [eventStore defaultCalendarForNewEvents].source;
    calendar.source = theSource;

    // save this in NSUserDefaults data for retrieval later
    NSString *calendarIdentifier = [calendar calendarIdentifier];

    NSError *error = nil;
    BOOL saved = [eventStore saveCalendar:calendar commit:YES error:&error];
    if (saved) 
        // saved successfuly, store it's identifier in NSUserDefaults
        [[NSUserDefaults standardUserDefaults] setObject:calendarIdentifier forKey:@"railplanner_calendar_identifier"];
     else 
        // unable to save calendar
        return NO;
    

当启用 iCloud 或使用本地日历时,这可以正常工作。 但是当用户使用 Gmail 同步日历时,我的自定义日历不会出现在日历列表中。本地日历也消失了。

有谁知道如何将带有新事件的新日历添加到 Gmail(或 Google)日历?

非常感谢。

【问题讨论】:

【参考方案1】:

这对于当前的谷歌日历同步可能是不可能的,你可以检测默认日历的类型,如果谷歌使用相关的谷歌 iPhone API 来创建你的新日历(我知道这不是很有帮助)

【讨论】:

以上是关于iOS - 无法使用 EventKit 将日历事件添加到 Gmail 日历的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4.0 Eventkit 无法正确获取日历和事件

使用 EventKit 对 iOS 日历进行文本搜索

将 EventKit 事件与远程数据库同步

使用 EventKit 添加事件和日历

在 iOS EventKit 上以编程方式在线获取/更新谷歌日历数据

如何区分通过我的应用程序保存的事件和使用 EventKit 使用日历应用程序保存的事件?