Пользовательские настройки какао PreferencePane всегда сохраняются в com.apple.systempreferences.plist - PullRequest
0 голосов
/ 19 декабря 2011

Я разрабатываю PreferencePane в Xcode 4.1, и я не могу заставить его хранить значения предпочтений ни в чем, кроме com.apple.systempreferences.plist.

Я установил BundleИдентификатор моего приложения в файле MyApp-Info.plist, но, похоже, его не подбирают.

Я много раз искал ответ, но не могу его найти.Вы можете легко воспроизвести проблему следующим образом:

В XCode:

  1. Создать новый проект PreferencePane
  2. Добавить NSTextField в.xib
  3. Привязать значение текстового поля к Shared User Defaults Controller с любым именем ключа
  4. Построить проект
  5. Щелкните правой кнопкой мыши значок в разделе «Продукты» и выберите «Открыть с помощьюВнешний редактор "для установки в Системных настройках (только для этого пользователя)

В Системных настройках:

  1. Откройте вашу преф-панель и введите любое значениев текстовом поле.
  2. Убедитесь, что значение вашего предпочтения сохранено в ~ / Library / Preferences / com.apple.systempreferences.plist

Но почему оно не создает новоефайл plist с указанным вами идентификатором пакета и сохраните там значение предпочтения?

Это ошибка в Xcode 4.1 / Mac OS 10.7?Любая помощь высоко ценится!

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Вы можете использовать NSUserDefaults для доступа к настройкам по умолчанию для вашего идентификатора пакета:

[[NSUserDefaults standardUserDefaults] persistentDomainForName:@"yourBundleID"];

Это вернет словарь с настройками для вашего пакета. Затем вы можете использовать setPersistentDomain:forName: метод NSUserDefaults для хранения обновленного словаря настроек.

0 голосов
/ 19 декабря 2011

Не ошибка - настройки сохраняются в списке, соответствующем приложению, а не в комплекте.Вам нужно будет использовать Core Foundation prefs system для чтения и записи настроек, специфичных для вашего пакета.

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