EKCalendar и область ошибок = NSMachErrorDomain Code = 268435459

Я изучаю EKEventKit. Я подключаю свой iPhone и звоню, чтобы установить календари

EKEventStore *eventDB = [[EKEventStore alloc] init]; NSArray * calendars = [eventDB calendars ]; 

Однако, когда я регистрирую календари, я получаю это сообщение об ошибке

«Ошибка CADObjectGetIntProperty с ошибкой Error Domain = NSMachErrorDomain Code = 268435459« Операция не может быть выполнена. (Ошибка Mach 268435459 – (ipc / send) недействительный порт назначения) "

Кто-нибудь знает, что это такое и почему я его получаю. благодаря

Реза

Я нашел проблему.

Я загрузил и сохранил EKEventStore ранее в своем коде. Удаление одного из них решило проблему

Реза

У меня такой же журнал предупреждений на консоли

Предыдущий код:

 "CalendarEventHandler.m" eventStore = [[EKEventStore alloc] init]; "CalendarEventHandler.h" @property (nonatomic,strong) EKEventStore *eventStore; 

Изменен код

 self.eventStore = [[EKEventStore alloc] init];//This helped me to remove warning 

@discussion в EKEventStore класс EKEventsStore.h файл говорит:

"It is generally best to hold onto a long-lived instance of an event store, most likely as a singleton instance in your application."

То же самое написано здесь: Чтение и запись событий календаря , в разделе « Connecting to the Event Store »:

"An EKEventStore object requires a relatively large amount of time to initialize and release. Consequently, you should not initialize and release a separate event store for each event-related task. Instead, initialize a single event store when your app loads, and use it repeatedly to ensure that your connection is long-lived."

Поэтому правильный способ сделать это:

 @interface MyEventStore : EKEventStore + (MyEventStore *)sharedStore; @end + (MyEventStore *)sharedStore { static dispatch_once_t onceToken; static MyEventStore *shared = nil; dispatch_once(&onceToken, ^{ shared = [[MyEventStore alloc] init]; }); return shared; } @end 

и используйте его для вызова [MyEventStore sharedStore] .

Этот подход также фиксирует предупреждение.

Сделайте экземпляр «eventDB» переменной класса или свойство может решить проблему.

  • Почему свойство selectedCalendars для EKCalendarChooser равно нулю?
  • EKEventStoreChangedNotification вызывается несколько раз
  • EKEventStore получение событий возвращает пустой список
  • Добавление участника в событие в iOS
  • Как определить, какой EKevent был изменен
  • действительно ли календарь симулятора iPhone «доступность» правильно для события?
  • получение сообщения «Не удалось загрузить источник: 6» при вызове «pushViewController» ??? (код прилагается)
  • Создание напоминаний со сложными правилами в ios
  • EKEventEditViewController не поддерживает то, что вы нажимаете на NavController? См. Код и прилагаемая ошибка.
  • Давайте будем гением компьютера.