菜鸟教程小白 发表于 2022-12-12 22:24:52

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


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

<p> <img src="/image/wKtgi.png" alt="Settings.bundle&#39;s root.plist"/> </p>

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

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

<pre><code>build=`/usr/libexec/PlistBuddy -c &#34;Print CFBundleVersion&#34;
${PROJECT_DIR}/${INFOPLIST_FILE}`
/usr/libexec/PlistBuddy &#34;$SRCROOT/Settings.bundle/Root.plist&#34; -c &#34;set PreferenceSpecifiers:6:Titles:0 $build&#34;
</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]
查看完整版本: iOS 运行脚本更新设置 root.plist 但更改未反射(reflect)在设置中