【问题标题】:How to tell if iOS user has disabled iCloud Calendar after initially having it enabled如何判断 iOS 用户是否在最初启用 iCloud 日历后禁用了它
【发布时间】:2015-06-30 18:19:40
【问题描述】:

我们的问题: iOS 用户启动我们的应用程序并通过 iCloud 启用日历集成(他们已选中“设置”>“iCloud”>“日历”) 我们的应用会为他们填充一个新的 iCloud 日历。

之后,如果用户通过设置应用禁用了 iCloud 日历,并返回到我们的应用,我们的应用无法知道它已被禁用。任何查找日历的检查仍会显示 iCloud 日历(即使它已在“设置”中打开)

有关解决此问题的任何提示或建议?

【问题讨论】:

    标签: ios calendar icloud


    【解决方案1】:

    经过多次搜索,终于找到了解决方案。它没有得到明确的回答,但在其他一些相关的问题上终于找到了一种方法来检测 iCloud 日历是否关闭(即使 iCloud 开启)

    逻辑是,检查并存储本地日历源,然后检查 iCloud 日历。如果我们检测到 iCloud,实际检查并查看 iCloud 中是否有日历(以检测 iCloud Cals 是否关闭),如果 iCloud Cals 关闭,则使用本地 cal。

    在我们提出 GMail 和 Google 日历之前效果很好……又是另一天的战斗。如果有人对此有意见,不胜感激。看来我们必须通过 Google Cal API 并在那里挂钩。

    EKSource *localCalSource;
    
    self.calendarSource = nil;
    for (EKSource *source in eventStore.sources) 
    {
        if (self.calendarSource == nil && source.sourceType == EKSourceTypeLocal) 
        {
            self.calendarSource = source;
            localCalSource = self.calendarSource;
            TLog([self isLocalLoggingOn], "Found local cal source!");
        }
    
        // if iCloud is enabled, grab that source and return it
        if (source.sourceType == EKSourceTypeCalDAV && [[source.title lowercaseString] isEqualToString:@"icloud"])
        {
    
        if([source calendarsForEntityType:EKEntityTypeEvent].count>0)
        {     
        //Check to see if Calendar is enabled on iCloud
            self.calendarSource = source;     
        }else{      
        //Calendar is Disabled use LOCAL
                self.calendarSource = localCalSource;   
        }
            break;
            TLog([self isLocalLoggingOn], @"Found %@", source.title);
        }
    }
    

    【讨论】:

    • 这种方法存在一个缺陷(目前发现) - 如果用户打开了 iCloud 日历,并且以某种方式手动删除了所有 iCloud 日历,这将认为 iCloud Cals 已关闭。
    • 您找到解决 Gmail 全部问题的好方法了吗?
    • @ilan 不,我们没有,我们有一段时间没看这个了,所以希望现在更好。
    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 2010-10-19
    • 2016-02-27
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多