2

我有一个 iOS 应用程序,其中有一个设置包。root.plist 是:

Settings.bundle 的 root.plist

当我手动更改Item6>Titles>Item0' 值并运行它时,它反映了应用程序的设备设置页面中的更改。

现在,我做了一个运行脚本来设置这个字段的构建版本

build=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" 
${PROJECT_DIR}/${INFOPLIST_FILE}`
/usr/libexec/PlistBuddy "$SRCROOT/Settings.bundle/Root.plist" -c "set PreferenceSpecifiers:6:Titles:0 $build"

Root.plist 中项目的指定值已更改(正如我通过 Xcode 看到的那样),但它似乎没有反映在设备上应用程序的设置中。

知道为什么吗?这个奇怪的问题有什么解决办法吗?我错过了什么吗?

4

1 回答 1

1

Root.plist允许您指定默认值。默认值仅在设置应用程序(或以编程方式访问NSUserDefaults)中使用,只要没有以编程方式或由用户设置属性的实际值。一旦设置了一个值(您提到过,您出于测试目的手动设置了版本),默认值将被忽略。

只需删除您的应用程序(设置也将被删除)并重新启动它。设备上的设置应用程序将显示您的新默认值。

于 2014-10-14T06:51:35.740 回答