У меня проблема с доступом к Settings.bundle.
Позвольте мне объяснить, что именно я делаю.
- Любой новый шаблон проекта из файла (под iPhone OS) - предпочтительно на основе просмотра.
- Теперь Щелкните правой кнопкой мыши по вашему проекту / группе ресурсов.
- Выберите Добавить / Новый файл
- Под iPhone Os - ресурс - Настройки Bundle.
- Назовите его строго "Settings.bundle"
Теперь очень важные шаги.
- Разверните Settings.bundle в вашем проекте.
- Нажмите на Root.plist
- В редакторе - Расширить спецификаторы предпочтений
- Удалить пункт 2, пункт 3, пункт 4
- Выберите пункт 1, скопируйте и вставьте его.
- Изменить элемент 2 'тип (копия элемента 1)
- Установить PSChildPaneSpecifier как тип (для item'2)
- Установите заголовок как хотите.
- Добавить новую пару ключ-значение в этот (элемент 2) словарь.
- Set Key = "File" & String = "FontSettings"
Теперь в вышеприведенных шагах я указал «Мне нужна дочерняя панель для настроек»
& Настройки дочерней панели будут загружены из FontSettings.plist
Хорошо. Дальнейшие действия.
- Теперь щелкните правой кнопкой мыши файл Settings.bundle / en.lproj (просто потому, что нам нужно добавить еще один plist-файл в settings.bundle.
- Добавить / Новый файл - в Mac OS x - Выбрать другое -> Список свойств
- Имя как FontSettings.plist
Просто для проверки, что файл settings.bundle содержит этот файл или нет.
- Откройте ваш проект в Finder.
- Щелкните правой кнопкой мыши Settings.bundle
- Нажмите, чтобы показать содержимое пакета.
- Если он показывает FontSettings.plist в содержимом пакета, то он до сих пор совершенен.
Теперь, для FontSettings.plist
- Откройте Root.plist в settings.bundle.
- Копировать Stringtable, PreferenceSpecifiers в список FontSettings.plist
- Теперь в FontSettings.plist - Добавить настройки по вашему желанию.
Проверка в симуляторе.
- Запустить программу и нажать на кнопку. (Чтобы прекратить приложение.)
- Перейти в настройки.
- Откройте настройки вашего проекта
- Вы можете перейти на дочернюю панель.
До сих пор, я полагаю, я выполнил правильные шаги.
Проблема, с которой я сталкиваюсь, сейчас здесь.
Если есть только один Root.plist , мы можем получить прямой доступ к
[[NSUserDefaults standardUserDefaults] stringForKey:@"fName"]
Как и выше.
Но вопрос «Как получить доступ - настройки дочерней панели?»
Я попробовал следующий способ
NSString *str=[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
NSString *path=[str stringByAppendingPathComponent:@"FontSettings.plist"];
NSDictionary *dFor=[NSDictionary dictionaryWithContentsOfFile:path];
Но проблема в приведенном выше коде такова: «Он просто дает мне одно и то же значение по умолчанию каждый раз, даже после - изменения значений из настроек iPhone - настройки.
Что я должен сделать для доступа к настройкам Child.plist? (этот пользователь установил).