如果用户使用非iOS帐户,则以编程方式向日历应用程序添加新日历

如果用户使用非iOS帐户,则以编程方式向日历应用程序添加新日历,ios,iphone,ekeventstore,Ios,Iphone,Ekeventstore,我们是否可以通过编程方式将新日历添加到默认日历应用程序中?如果用户正在使用任何其他日历帐户(如yahoo或hotmail),我将收到以下错误: Domain=EKErrorDomain Code=17“该帐户不允许添加或删除日历。” 如果用户使用的是icould或ios日历,代码就可以正常工作。最后,经过几天的大量研究,我发现一些EKExchange日历,比如谷歌、雅虎,不允许我们在他们的日历中添加事件。如果是这种情况,您将得到错误代码为17的错误,如下所示 "Domain=EKErrorDom

我们是否可以通过编程方式将新日历添加到默认日历应用程序中?如果用户正在使用任何其他日历帐户(如yahoo或hotmail),我将收到以下错误:

Domain=EKErrorDomain Code=17“该帐户不允许添加或删除日历。”


如果用户使用的是icould或ios日历,代码就可以正常工作。最后,经过几天的大量研究,我发现一些EKExchange日历,比如谷歌、雅虎,不允许我们在他们的日历中添加事件。如果是这种情况,您将得到错误代码为17的错误,如下所示

"Domain=EKErrorDomain Code=17 "That account does not allow calendars to be added or removed." "

对于这个错误我们无能为力,所以我最后提醒用户“我们无权访问您的日历帐户”。希望这能帮助那些面临类似问题的人。

嘿,你找到答案了吗,对我来说很有用,直到我找到了关闭iCloud和打开Gmail日历的用户。如果由于这个特殊原因同步失败,我会向用户发出警告。因为似乎没有办法访问outlook或邮件日历。我最后做的只是在“defaultCalendarForNewEvents”中使用日历。。。如果没有其他可用的日历,则至少用户可以在其默认日历中创建事件。您有任何解决方案吗?@Siten。我没有找到任何解决方案,最终在由于这个特殊原因导致同步失败时向用户发出警报。在我们出现这种错误之前,如果访问被取消,有没有办法取消侦听。calendar.isImmutable==否&&calendar.allowContentModifications==是。当我遇到这样的错误或一切正常时,情况也是如此。