在具有iOS 12 SDK的Xcode 10中,当我从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
}
答案 0 :(得分:0)
这是一个不好的错误。如果您的代码打开了calendar.type
并且rawValue
为5,则应用程序将崩溃,因为它无法使用该值初始化大小写。当我在模拟器中运行该日历时,相关日历具有calendar.source.sourceType = .birthdays
。
总结一下,有一个新的系统生成的日历:"Found in Mail" sourceType: .birthdays, calendar.type.rawValue: 5