Iphone 我可以动态修改设置包中的Root.plist吗?
我的应用程序中有一个设置包。。包含根.plist的 现在我有一个屏幕,其中包含一个复选框。。 按下复选框时,我想更改plist中PSToggleSwitchSpecifier的DefaultValue键的BOOL值。 因为它是在运行时完成的。。我的问题是。。是否可以在运行时更改该文件?如果可以。。给出一个如何做的想法 下面是plist:Iphone 我可以动态修改设置包中的Root.plist吗?,iphone,objective-c,plist,root.plist,Iphone,Objective C,Plist,Root.plist,我的应用程序中有一个设置包。。包含根.plist的 现在我有一个屏幕,其中包含一个复选框。。 按下复选框时,我想更改plist中PSToggleSwitchSpecifier的DefaultValue键的BOOL值。 因为它是在运行时完成的。。我的问题是。。是否可以在运行时更改该文件?如果可以。。给出一个如何做的想法 下面是plist: <plist version="1.0"> <dict> <key>PreferenceSpecifiers
<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>
偏好说明符
默认值
钥匙
用户名
标题
用户名
类型
pstextfield说明符
默认值
安全
钥匙
密码
标题
密码
类型
pstextfield说明符
类型
PSToggleSwitchSpecifier您不能使用应用程序包修改文件。因为设置包位于应用程序包中,您只能在编译时在运行时更改设置包
但是,您可以使用在运行时设置值,设置应用程序将自动反映这一点。不过,它将被保存在其他地方。您也可以通过NSUserDefaults
以与使用设置捆绑包相同的方式将其读回
请注意,您不应该直接读取设置包,因为这没有任何意义。您应该始终使用NSUserDefaults
获取和设置用户默认值。当用户在设置应用程序中进行更改时,NSUserDefaults
将自动反映这一点。它们将始终保持同步。有一篇同样的博文。这不是为root.plist写的。我想是的。正如Joshua所建议的,您不能修改应用程序包中的文件。我希望上面的链接对您有所帮助。-如果您有越狱iOS设备,并且您的应用程序正在/Applications directoryHey@Zaraki中运行,您可以修改应用程序捆绑包中的文件。您发现问题的原因了吗?您能告诉我如何使用NSUserDefaults写入设置捆绑包root.plist吗?我能够读取该文件,并且我想将应用程序中所做的修改更新为设置包中的Root.plist。