Piszę aplikację, która zajmuje się kalendarzy. W aplikacji wyświetlam listę wszystkich dostępnych kalendarzy, które użytkownik może włączyć lub wyłączyć. Jestem nie przy użyciu szkieletu EventKitUI
dla celów mojego własnego projektu i interfejsu użytkownika.Jak zdecydować, czy domyślny "Kalendarz" EKCalendar może być ukryty?
Dostaję uporządkowaną listę kalendarzy poprzez sondowanie właściwości calendars
obiektu EKEventStore
. Na moim urządzeniu istnieje jednak obiekt EKCalendar
z tej listy, który jest , a nie przedstawiony przez EKEventKitUI
. To jest opis obiektu w debuggera:
EKCalendar <0xcea6b60> {title = Agenda; type = Local; allowsModify = YES; color = #711A76;}
Biegnę mój iPhone w języku polskim, dlatego tytuł brzmi „Agenda”, a nie „Kalendarz”, ale jeśli uruchomić iPhone w języku angielskim to właśnie zobaczysz. Wygląda na to, że jest to domyślny kalendarz systemu iOS, ale ponieważ wszystkie moje kalendarze skonfigurowane do synchronizacji z usługą iCloud są wyłączone w przypadku wbudowanych aplikacji kalendarza. Chcę wyłączyć to również w mojej aplikacji, ale nie wiem jak.
Nie mogę rozpoznać, który kalendarz powinienem "ukryć", patrząc na the properties of EKCalendar
. Istnieje własność type
, która jest "Lokalna" dla tego domyślnego kalendarza, ale jeśli ktoś nie używa iCloud, wyobrażam sobie, że wszystkie kalendarze są typu lokalnego. subscription
też nie jest, ani nie jest allowsContentModifications
. Widziałem examples of people hiding the default calendar based on it's title, ale jak widać, tytuł jest zlokalizowany, a przez to bardzo niepraktyczny, po prostu źle się czuje.
Co należy zrobić, aby zdecydować, który kalendarz jest kalendarzem domyślnym i czy go ukrywać, czy też nie, w celu wyrównania listy kalendarzy wyświetlanych w zwykłej aplikacji iCal/Kalendarz?
EDIT: Chociaż pytanie zostało oznaczone jako odpowiedzi, odpowiedź zawiera duże „Nie, nie mogę”. Rozwiązałem ten problem dla moich użytkowników, dodając przełącznik panelu ustawień, aby "ukryć lokalne kalendarze", ale jest to bardzo, bardzo nieeleganckie rozwiązanie.
Tak że to, co robię teraz, ale to czuje się tak źle też! – epologee