我有使用日历的应用程序。
该项目工作正常至今。我试图在同一设备上运行app并收到错误:
对日历守护程序的谓词调用失败:错误域= EKCADErrorDomain代码= 1013"操作无法完成。 (EKCADErrorDomain错误1013。)"
以下是相关代码:
_estore = EKEventStore()
//_estore.reset() // tried - doesn't help
var predicate:NSPredicate! = _eventStore.predicateForEventsWithStartDate(yearsAgo, endDate:toAgo, calendars:allCals)
_eventStore.enumerateEventsMatchingPredicate(predicate, usingBlock:{
(event:EKEvent!, stop:UnsafeMutablePointer<ObjCBool>) in
...
}) // block
我试过没有块实现:
var allEvents:Array<EKEvent> = _eventStore.eventsMatchingPredicate(predicate) as [AnyObject]! as Array<EKEvent>
我检查了设备 - >设置 - &gt;隐私 - &gt;提醒 - 是空的
BTW我没有看到任何设置权限 - &gt;隐私 - &gt;日历
听起来设备没有检测到我的应用使用了日历。
顺便说一下,我成功地取了联系人
其他信息
有什么建议吗?
[编辑]
var calendars = _estore.calendarsForEntityType(EKEntityTypeEvent)
不返回任何内容(a.e.空列表)
谢谢,
答案 0 :(得分:2)
我强迫“允许弹出:”
_estore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(res:Bool!, error:NSError!) in
if res == true {
// println("allowed")
} else {
//println("not allowed")
}
})
这就完成了工作。
无论如何,谢谢你,