4
これは非常に簡単ですが、私はOSX上のカレンダーにアクセスするために数日間苦労してきました。 App Sandbox機能を有効にして、App Dataの[Calendar]ボックスにチェックを入れました。あなたが見ることができるように、私が追加したコードの行だけがEventKitをインポートするとeventControlを初期化するためにあるSwiftのOSX SierraでEKEventStoreを使用してカレンダーにアクセスする際の問題3
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.
}
}
}
:私は、次のView Controllerクラスと非常にシンプルなアプリを作成しました。
私がデバッグでこれを実行すると、私は右の権限を取得する方法を考え出すことはできません
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";
}
eventControl初期化ラインでエラーが発生します。
私はXcodeの8.1とMacOSのシエラを使用しています10.12.1
さらに多くのテストを行った結果、このエラーが報告されても、コードは正しく実行されているようです。 'eventControl'は有効なオブジェクトに設定されており、そのオブジェクトに対してEventKit操作を正常に実行することができます。私はこのエラーが問題を引き起こさないと信じています。 – PatrickR