W dużym stopniu korzystam z Apple Events, aby kontrolować różnorodne aplikacje na moim komputerze. Nowe monity bezpieczeństwa wprowadzone w Mojave są paraliżujące .
W poprzednich wersjach systemu macOS, gdy aplikacja otrzymała pozwolenie na „sterowanie komputerem”, mogła wysyłać zdarzenia Apple do dowolnej innej aplikacji na komputerze. W Mojave to uprawnienie musi zostać przyznane ręcznie raz dla każdej kontrolowanej aplikacji.
Gdy użytkownik przyzna dostęp, jego wybór jest przechowywany w jednej z dwóch baz danych sqlite:
~/Library/Application Support/com.apple.TCC/TCC.db
/Library/Application Support/com.apple.TCC/TCC.db
- Zauważ, że # 2 jest widoczny tylko dla użytkownika root.
- Pamiętaj, że ochrona integralności systemu jest wyłączona.
Czy można by bezpośrednio edytować te bazy danych sqlite, aby automatycznie udzielać uprawnień i omijać te monity bezpieczeństwa?
tell app "Finder" to open every application file in the entire contents of (path to applications folder) as alias list
. Potem repeat with A in the result
... ignoring application responses
... quit the application named A
... end ignoring
... end repeat
. Będzie to bolesne, ale będzie to jak zrywanie bandaża.