Могу ли я динамически изменять Root.plist в пакете настроек?

У меня есть пакет настроек в моем приложении ... содержащий root.plist, теперь у меня есть экран с флажком ... при нажатии флажка я хочу изменить < strong> BOOL для ключа DefaultValue объекта PSToggleSwitchSpecifier в списке. Поскольку это делается во время выполнения ... мой вопрос в том, что ... можно ли изменить файл во время выполнения, и если да ... дайте идею, как это сделать ??

вот список:

    <plist version="1.0">
<dict>
    <key>PreferenceSpecifiers</key>
    <array>
        <dict>
            <key>DefaultValue</key>
            <string></string>
            <key>Key</key>
            <string>Username</string>
            <key>Title</key>
            <string>Username</string>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
        </dict>
        <dict>
            <key>DefaultValue</key>
            <string></string>
            <key>IsSecure</key>
            <true/>
            <key>Key</key>
            <string>Password</string>
            <key>Title</key>
            <string>Password</string>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSToggleSwitchSpecifier</string>    <-----toggleSwitch
            <key>Title</key>
            <string>Remember</string>
            <key>Key</key>
            <string>CheckBox</string>
            <key>DefaultValue</key>    <----- Default Value
            <false/>                   <---- want to change this value 
        </dict>
    </array>
    <key>Title</key>
    <string>Settings</string>
</dict>
</plist>

заранее спасибо ;)


person Zaraki    schedule 04.08.2011    source источник
comment
Здесь есть сообщение в блоге о том же .   -  person Praveen S    schedule 04.08.2011
comment
это не для root.plist, я думаю   -  person Zaraki    schedule 04.08.2011
comment
Ага, верно. Как предложил Джошуа, вы не можете изменять файлы из пакета приложений. Надеюсь, ссылка выше вам поможет.   -  person Praveen S    schedule 04.08.2011
comment
- вы можете изменять файлы из пакета приложений, если у вас есть взломанное устройство iOS и ваше приложение работает из каталога / Applications   -  person Taskinul Haque    schedule 09.10.2012
comment
Привет, @Zaraki, ты нашел проблему для своей проблемы?   -  person benhi    schedule 12.11.2018


Ответы (2)


Поскольку пакет настроек находится внутри пакета вашего приложения, вы не можете изменить его во время выполнения, только во время компиляции.

Однако вы можете использовать NSUserDefaults, чтобы установить значение во время выполнения, и приложение настройки автоматически отразит это. Однако он будет сохранен в другом месте. Вы можете просто прочитать его так же, как и с пакетом настроек, также через NSUserDefaults.

Обратите внимание, что вам не следует напрямую читать из пакета настроек, поскольку это не имеет смысла. Вы всегда должны получать и устанавливать пользовательские значения по умолчанию, используя NSUserDefaults. Когда пользователь вносит изменения в приложение настроек, NSUserDefaults отразит это автоматически. Они всегда будут синхронизироваться.

person Community    schedule 04.08.2011
comment
Подскажите, пожалуйста, как прописать в настройках бандл root.plist с помощью NSUserDefaults? Я могу прочитать файл и хочу обновить изменения, сделанные в приложении, в Root.plist в наборе настроек. - person Mithun; 18.09.2015

Вы не можете изменять файлы с помощью пакета приложений ..

person Joshua Weinberg    schedule 04.08.2011