4
이것은 매우 간단하게 보이지만 OSX에서 캘린더에 액세스하는 데 며칠 동안 고생했습니다. 앱 샌드 박스 기능을 사용 설정했는데 앱 데이터의 '캘린더'확인란을 선택했습니다. 나는 다음 뷰 컨트롤러 클래스와 매우 간단한 응용 프로그램을 만들었습니다 : 당신이 볼 수 있듯이, 내가 추가 한 코드의 유일한 라인 EventKit를 가져올하고 eventControl을 초기화 할 수 있습니다OSX Sierra on Swift 3에서 EKEventStore를 사용하여 캘린더에 액세스 할 때 문제가 있습니다.
import Cocoa
import EventKit
class ViewController: NSViewController {
var eventControl = EKEventStore()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
. 내가 디버그에서이 프로그램을 실행할 때
, 나는 내가 올바른 권한을 얻는 방법 작동하지 않을 수 eventControl 초기화 라인
2016-10-28 15:02:00.056521 calendarTest[4105:847101] CoreData: XPC: Unable to load metadata: Error Domain=NSCocoaErrorDomain Code=134070 "An error occurred in the persistent store." UserInfo={Problem=request failed, insufficient permission}
2016-10-28 15:02:00.057742 calendarTest[4105:847101] [error] error: -addPersistentStoreWithType:NSXPCStore configuration:(null) URL:file:///Users/patrickramsden/Library/Calendars/Calendar%20Cache options:{
NSInferMappingModelAutomaticallyOption = 1;
NSMigratePersistentStoresAutomaticallyOption = 1;
agentOrDaemon = 1;
serviceName = "com.apple.CalendarAgent.database";
} ... returned error Error Domain=NSCocoaErrorDomain Code=134070 "An error occurred in the persistent store." UserInfo={Problem=request failed, insufficient permission} with userInfo dictionary {
Problem = "request failed, insufficient permission";
}
에서 오류가 발생합니다.
내가 엑스 코드 8.1 맥 OS 시에라을 사용하고 10.12.1
추가 테스트를 거친 후에도이 오류가보고되었지만 코드가 여전히 올바르게 실행되는 것으로 보입니다. 'eventControl'이 유효한 객체로 설정되어 있고 그 객체에 대한 EventKit 작업을 성공적으로 실행할 수 있습니다. 이 오류로 인해 문제가 발생하지 않는다고 생각합니다. – PatrickR