iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中

标签 ios objective-c xcode settings.bundle run-script

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

Settings.bundle's root.plist

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

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

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 看到) 但它似乎并未反射(reflect)在设备上的应用程序设置中。

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

最佳答案

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

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

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

相关文章:

ios - 如何使用 Facebook PoP ios 框架水平翻转 UIView?

ios - 对 SKSpriteNode 进行扩展

ios - 在 swift 中使用 ACEAutocompleteBar 崩溃 :

xcode - 在 Windows 机器上使用 Appium 测试 iOS 应用程序

ios - 在 Swift 中更改导航栏颜色

ios - 错误 : Google Plus fallback bundle could not be found

ios - 多个核心数据实例

objective-c - KVO 与 NSMutableArray

iphone - 同时在不同 View 上使用多个 CAAnimations

Xcode UITest 有时找不到 XCUIElement 的属性