Я пытаюсь получить события из EKEventStore
между прошлым годом и следующими тремя годами, но я получил эту ошибку:
Ошибка загрузки данных часового пояса из файловой системы. Это серьезный
проблема. Точные данные календаря не гарантируются.
Если я изменю дату последнего года с добавления -1 на 0, ошибки не выдаются
это код:
struct TaskService: TaskServiceProtocol {
let store: EKEventStore
init(withStore store: EKEventStore) {
self.store = store
}
func tasks() -> [TaskItem] {
let calendar = Calendar.current
let today = Date()
let startDate = calendar.date(byAdding: .year, value: -1, to: today)!
let endDate = calendar.date(byAdding: .year, value: 3, to: today)!
let eventsPred = store.predicateForEvents(withStart: startDate, end: endDate, calendars: nil)
let events = store.events(matching: eventsPred) as? [TaskItem] ?? []
return events
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
requestAccess()
}
func requestAccess() {
let store = EKEventStore.init()
store.requestAccess(to: .event) { (granted, error) in
let service = TaskService(withStore: store)
let events = service.tasks()
print(events.count)
}
}
}