在我的 iOS 应用程序中,我曾经使用以下方法访问日历:
EKCalendar* cal = [eventStore calendarWithIdentifier:[calendarIDs objectAtIndex:i]];
通过以下方式向用户请求权限:
eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,NSError* error){}
现在这在 iOS 7 上工作正常,但在 iOS 8 上我每次调用方法 calendarWithIdentfier 时都会收到以下错误:
Error getting shared calendar invitations for entity types 3 from daemon:
Error Domain=EKCADErrorDomain Code=1013
"The operation couldn’t be completed. (EKCADErrorDomain error 1013.)"
我可以毫无问题地写\读日历,但我不明白为什么会引发此异常。 我已经尝试了这里提出的一些方法,但在这种情况下似乎都不起作用。
最佳答案
我也被同样愚蠢的事情难住了。
我只是遍历了一组日历并根据标识符进行匹配。它并不优雅,但它可以工作,而且普通用户可能只有不到 10 个日历,所以......哦好吧......
这是我在 swift 中的解决方法
func createEvent(){
var event = EKEvent(eventStore: self.eventStore)
var calendar : EKCalendar!
let calendars : [EKCalendar] = self.eventStore.calendarsForEntityType(EKEntityTypeEvent) as [EKCalendar]
for aCal in calendars
{
if(aCal.calendarIdentifier == self.calendarIdentifier)
{
calendar = aCal
break
}
} ...continue to do stuff to events....
}
关于ios - EKCADErrorDomain 使用 calendarWithIdentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974555/