Каков программный эквивалент «чтения по умолчанию»? - PullRequest
0 голосов
/ 04 ноября 2018

Когда я делаю defaults read в командной строке, я получаю более 6000 строк ключей. Когда я перечисляю UserDefaults.standard.dictionaryRepresentation() в программе (без песочницы), я получаю только около 50 строк значений.

Что такое базовая версия defaults read? Как мне получить все ключи NSUserDefaults в программе?

1 Ответ

0 голосов
/ 04 ноября 2018

defaults read без аргумента домена читает все домены для текущего пользователя. UserDefaults.standard.dictionaryRepresentation() читает только домен текущего приложения.

Я понятия не имею, почему вы хотите читать все домены, но вы можете сделать это, используя CFPreferences API . Вы начинаете с вызова CFPreferencesCopyApplicationList(kCFPreferencesCurrentUser, kCFPreferencesAnyHost), чтобы получить все домены приложений (включая глобальный домен kCFPreferencesAnyApplication). Обратите внимание, что это устарело без какой-либо замены, о которой я знаю. Затем вы перебираете их и вызываете CFPreferencesCopyMultiple(nil, eachAppIDInTurn, kCFPreferencesCurrentUser, kCFPreferencesAnyHost).

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