iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中
<p><p>我有一个 iOS 应用程序,其中有一个设置包。 root.plist 是:</p>
<p> <img src="/image/wKtgi.png" alt="Settings.bundle's root.plist"/> </p>
<p>当我手动更改 <code>Item6>Titles>Item0</code> 的值并运行它时,它反射(reflect)了应用程序的设备设置页面中的更改。</p>
<p>现在,我做了一个运行脚本来设置这个字段的构建版本</p>
<pre><code>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"
</code></pre>
<p> Root.plist 中的 item 的指定值被更改(通过 Xcode 可以看到)
但它似乎没有反射(reflect)在设备上应用程序的设置中。</p>
<p>知道为什么吗?这个奇怪的问题有什么解决办法吗?我错过了什么吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><code>Root.plist</code> 允许您指定默认值。默认值仅在设置应用程序中使用(或在以编程方式访问 <code>NSUserDefaults</code> 时)只要没有以编程方式或由用户设置属性的 <em>real</em> 值.一旦设置了一个值(您提到过,您手动设置版本以进行测试),默认值将被忽略。</p>
<p>只需删除您的应用(设置也将被删除)并重新启动它。设备上的设置应用程序将显示您的新默认值。</p></p>
<p style="font-size: 20px;">关于iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/23880182/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/23880182/
</a>
</p>
页:
[1]