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.
Osadzone metadane w plikach binarnych (Info.plist)
Dział zatytułowany „Osadzone metadane w plikach binarnych (Info.plist)”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.
Klasyfikacja usług TCC
Dział zatytułowany „Klasyfikacja usług TCC”Uprawnienia systemowe są przypisane do konkretnych domen bezpieczeństwa TCC:
| Integracja | Domena usługi TCC | Model autoryzacji |
|---|---|---|
| Kalendarz | Calendar | Pełny dostęp do bazy EventKit Calendar |
| Przypomnienia | Reminders | Pełny dostęp do bazy EventKit Reminders |
| Poczta | AppleEvents | Zdarzenia Apple Events kierowane do Mail / Outlook |
| Notatki | AppleEvents | Zdarzenia Apple Events kierowane do Apple Notes |
Ujednolicona orkiestracja uprawnień
Dział zatytułowany „Ujednolicona orkiestracja uprawnień”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ń.
Uzgadnianie uprawnień przy starcie (reconciliation)
Dział zatytułowany „Uzgadnianie uprawnień przy starcie (reconciliation)”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.