OStack程序员社区-中国程序员成长平台

标题: iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:24
标题: iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中

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

Settings.bundle's root.plist

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

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

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

Root.plist 中的 item 的指定值被更改(通过 Xcode 可以看到) 但它似乎没有反射(reflect)在设备上应用程序的设置中。

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



Best Answer-推荐答案


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

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

关于iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880182/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4