В календарях обнаружен новый недокументированный EKCalendarType

В Xcode 10 с iOS 12 SDK, когда я извлекаю все календари событий из EventKit, кажется, что есть новый тип календаря с EKCalendarType rawValue как 5. Это можно воспроизвести в симуляторе и на устройстве.

Любая идея, что это такое? Возможно ли иметь приватный API в случае перечисления, чтобы он обходил проверку выхлопа?

let calendars = store.calendars(for: .event)
calendars.forEach { (calendar) in
    print(calendar.title) // => Found in Mail
    print(calendar.type.rawValue) // => 5
}

person Harry Ng    schedule 19.09.2018    source источник


Ответы (1)


Это какой-то плохой баг. Если ваш код включает calendar.type, а rawValue равно 5, приложение аварийно завершает работу, потому что оно не может инициализировать случай с этим значением. Когда я запускаю его в симуляторе, в соответствующем календаре есть calendar.source.sourceType = .birthdays.

Итак, подведем итог: новый системный календарь: "Found in Mail" sourceType: .birthdays, calendar.type.rawValue: 5

person blwinters    schedule 22.09.2018
comment
Я только что подал радар для этого. - person blwinters; 22.09.2018