Przejdź do głównej zawartości

Uprawnienia integracji z systemem (TCC) na macOS

Dostęp do natywnych baz danych użytkownika w systemie macOS (Kalendarz, Przypomnienia, Poczta i Notatki) podlega rygorystycznej kontroli podsystemu Transparency, Consent, and Control (TCC). Ponieważ pomocnicze procesy CLI są uruchamiane jako odrębne procesy potomne, Speedwave osadza metadane w plikach binarnych, zapewniając prawidłowe wyświetlanie systemowych monitów o zgodę użytkownika. Szczegóły architektury znajdziesz na stronie Integracja z systemem od środka.

Każdy pomocniczy plik wykonywalny posiada własny manifest Info.plist skompilowany bezpośrednio w strukturze binarnej Mach-O. Dzięki temu identyfikatory aplikacji (np. pl.speedwave.desktop.calendar) oraz opisy celów wykorzystania (NSCalendarsFullAccessUsageDescription, NSRemindersFullAccessUsageDescription) są przekazywane wraz z procesem, co chroni przed cichym odrzuceniem żądania przez system macOS.

Uprawnienia systemowe są przypisane do konkretnych domen bezpieczeństwa TCC:

IntegracjaDomena usługi TCCModel autoryzacji
KalendarzCalendarPełny dostęp do bazy EventKit Calendar
PrzypomnieniaRemindersPełny dostęp do bazy EventKit Reminders
PocztaAppleEventsZdarzenia Apple Events kierowane do Mail / Outlook
NotatkiAppleEventsZdarzenia Apple Events kierowane do Apple Notes

Speedwave standaryzuje sprawdzanie uprawnień dla EventKit oraz Apple Events w ramach jednego modułu diagnostycznego. W przypadku gdy aplikacja docelowa (np. Apple Mail lub Notes) jest zamknięta, system wykrywa jej nieaktywny stan i sugeruje uruchomienie programu zamiast generowania fałszywych błędów uprawnień.

Podczas każdego uruchomienia aplikacji Speedwave porównuje aktywne integracje ze stanem uprawnień w bazie TCC, automatycznie deaktywując przełączniki tych usług, których uprawnienia zostały cofnięte w ustawieniach systemu operacyjnego.