Próbuję utworzyć Kalendarz, a nie wydarzenie w kalendarzu, ale Kalendarz. Nie mogę uzyskać lokalnego źródła i moja aplikacja się zawiesza.Tworzenie kalendarza bez lokalnego źródła, nawet przy wyłączonym iCloud
Oto mój kod:
let newCalendar = EKCalendar(for: .event, eventStore: eventStore)
newCalendar.title = "Some Calendar Name"
let sourcesInEventStore = eventStore.sources
newCalendar.source = sourcesInEventStore.filter{
(source: EKSource) -> Bool in
source.sourceType.rawValue == EKSourceType.local.rawValue
}.first!
Mam iCloud całkowicie wyłączony i nadal nie może uzyskać dostępu do sieci.
Jestem również staramy się to do pracy z iCloud włączony, wpadłem na ten kod, ale to nie działa
for let source in eventStore.sources
{
if(source.sourceType == EKSourceType.calDAV && source.title == "iCloud")
{
newCalendar.source = source
}
}
if(newCalendar.source == nil)
{
for let source2 in eventStore.sources
{
if(source2.sourceType == EKSourceType.local)
{
newCalendar.source = source2
}
}
}
Spróbuję. – user979331
Próbowałem tego, nie dostaję żadnych błędów i teraz wyskakuje alert z pytaniem, czy jest w porządku, aby użyć kalendarza, jednak wciąż nie ma lokalnego źródła :(Przechodzi do instrukcji else '// W jakiś sposób nie znaleziono lokalnego kalendarza , błąd obsługi odpowiednio "Dlaczego nie otrzymuję lokalnego źródła? – user979331
@ user979331 Alert jest normalny, musisz poprosić użytkownika o pozwolenie na używanie jego kalendarza Nie mam pojęcia, dlaczego nie byłoby lokalnych kalendarzy. kalendarze w ogóle w sourcesInEventStore? – JAL