Swift:获取所有日历时出错:Error Domain = EKCADErrorDomain Code = 1013"操作无法完成。甚至回答了“允许”#39;

时间:2014-12-20 09:18:55

标签: ios swift ekevent

我有以下示例:

Error getting all calendars: Error Domain=EKCADErrorDomain Code=1013 "The operation couldn’t be completed. (EKCADErrorDomain error 1013.)"

这是一个地方:

  _estore = EKEventStore()
  _estore.reset()

_estore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted:Bool!, error:NSError!) in

   if  granted == true {

      println("#########   allowed calendar accounts   #########")

      var calendars = self._estore.calendarsForEntityType(EKEntityTypeEvent) // <-- Exception
   }

})//block

我得到正确的弹出窗口Allow/No - 我点击“允许”并在调试中输入granted

但是得到例外。

来自THIS回答@yunas我试图用我的代码包装:

if _estore.respondsToSelector(Selector("completion:")){ /* ... */ }

但在这种情况下,我永远不会进入if

代码有什么问题?

请帮忙,

1 个答案:

答案 0 :(得分:0)

_estore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted:Bool!, error:NSError!) in

   if  granted == true {
    let calendars : [EKCalendar] = _estore.calendarsForEntityType(EKEntityTypeEvent) as [EKCalendar]
   }

试试这个。