ios - 保存 iOS 日历事件现在出错

标签 ios runtime-error ekevent ekeventstore

Error pushing dirty properties for EKPersistentLocation to daemon: Error Domain=NSMachErrorDomain Code=4097 "unknown error code"
Connection interrupted!

关于为什么我不能再保存我的事件有什么想法吗?

    NSString *eventIdentifier = ...
    EKEventStore *store = [EKEventStore new];
    EKEvent *event = [store eventWithIdentifier:eventIdentifier];
    if(event == nil) {
        event = [EKEvent eventWithEventStore:store];
    }

    //fill event code here

    //save event
    NSError *error = nil;
    BOOL success = [store saveEvent:event span:EKSpanThisEvent commit:YES error:&error];
    if(error) {
        @throw error;
    }

    if(!success) {
        @throw [Error ERROR_EVENT_SYNC_FAILED_NO_ERROR];
    }

有趣的是,没有生成错误对象,但成功为 NO。错误代码和消息不是特别有用。我不确定脏属性是什么意思,但我不是在重复使用旧事件,而是每次都从商店抓取一个或制作一个新事件。我也不知道连接中断是什么意思。

如有任何帮助,我们将不胜感激。

最佳答案

我有一个类似的错误。这是由请求访问 .event 类型的事件并尝试保存提醒引起的。如果您将日历条目保存为事件,则请求访问 .event 如果您请求访问提醒,则请求访问类型为 .reminder。
以下是请求访问提醒的示例。

    override func viewWillAppear(_ animated: Bool) {
            self.eventStore = EKEventStore()
            self.reminders = [EKReminder]()
            self.eventStore.requestAccess(to: .reminder, completion: requestAccessCompletionHandler)
        }

        func requestAccessCompletionHandler (granted: Bool, error: Error?) {
            NSLog("requestAccessCompletionHandler")
            if (granted) {

                let predicate = self.eventStore.predicateForReminders(in: nil)
                self.eventStore.fetchReminders(matching: predicate, completion: { (reminders: [EKReminder]?) -> Void in
                    self.reminders = reminders
                    DispatchQueue.main.async {
                        self.tableView.reloadData()
                    }
                })
            } else {
                print("The app is not permitted to access reminders, make sure to grant permission in the settings and try again")
            }
        }

关于ios - 保存 iOS 日历事件现在出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33612398/

相关文章:

ios - iOS SDK 发送 SNS 通知的消息格式是什么?

java - 是JDK的bug吗?

javascript - 如何处理ExtJs中的异常 "cannot call method getRange of null"?

iOS:使用不可编辑的事件创建日历?

ios - 如何在开发版本中测试使用Branch.io创建的分支链接的“应用程序内打开”功能?

iphone - 从设置包中检索切换开关值

excel - 使用 Resume Next 循环中的错误处理

ios - 对日历守护程序的谓词调用失败 : Error Domain=EKCADErrorDomain Code=1013

android - 如何在 Mapbox 4.1 中添加自己的图 block