Как заставить перезагрузить предпочтительный список для приложения в OS X? - PullRequest
0 голосов
/ 03 июля 2018

Моя программа swift периодически обновляет файл com.google.Chrome.plist, хранящийся в /Library/Preferences.

Во время первоначального выполнения требуется только перезапустить браузер Chrome, чтобы политики вступили в силу. Но теперь мне нужно перезагрузить систему, чтобы политики вступили в силу. Как заставить его обновиться без перезагрузки Mac?

А также кнопка Reload policies в chrome://policy не сработает. (Интересно, какова его цель?)

А также, пожалуйста, объясните разницу между размещением файла plist в /Library/Preferences и в /Library/Managed Preferences

Или есть какая-нибудь команда для OS X, например gpupdate /force (для windows) , как здесь сказано .

Я также недавно обнаружил, что эта проблема сохраняется и для других приложений (я попытался отредактировать plist-файл Safari с ~/Library/Preferences/com.apple.Safari.plist, и для вступления в силу требуется перезагрузка системы)

Я застрял здесь надолго. Смещение в возможном направлении тоже подойдет!

Спасибо!

1 Ответ

0 голосов
/ 04 июля 2018

Причина в том, что в Mac OS Mavericks Apple начала кешировать plist-файлы, что приводит к тому, что замена plist-файла вручную не действует, пока кэш не будет перезагружен автоматически. Если вы раньше открываете приложение, которое использует этот plist-файл, оно перезаписывает ваш скопированный файл старым / кэшированным.

Чтобы перезагрузить файл настроек вручную, используйте defaults read <filename>.plist, чтобы прочитать новые значения plist.

Источник: Нетхак

Теперь я просто использую сценарий sh для вызова defaults после выполнения моей программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...