在 Cordova Build 上设置 Cordova 状态栏插件默认值
Posted
技术标签:
【中文标题】在 Cordova Build 上设置 Cordova 状态栏插件默认值【英文标题】:Set Cordova StatusBar Plugin Defaults on Cordova Build 【发布时间】:2015-02-10 08:20:33 【问题描述】:我正在使用 Cordova (4.2.0) 状态栏插件。我想要的选项是:
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="StatusBarBackgroundColor" value="#A7A7A7"/>
一切都很好,当我在构建(在 Xcode 中)并在设备上运行应用程序之前直接在 XCode 中编辑 config.xml 文件时。
我的问题是,一旦重新运行“cordova build ios”,config.xml 文件中的设置就会恢复为以下默认设置:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />
好的 - 所以我知道 default.xml 并将我需要的设置放在那里。麻烦是现在我得到了(删除了不必要的行):
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="StatusBarBackgroundColor" value="#A7A7A7" />
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" />
<param name="onload" value="true" />
</feature>
<preference name="StatusBarOverlaysWebView" value="true" />
注意第二个“StatusBarOverlaysWebView”条目,这个“StatusBarOverlaysWebView”条目会覆盖第一个!!
于是我深入挖掘,找到了plugin.xml,其中包含:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />
一定是这样,所以我将其更改为我所需的默认值......但不,我仍然得到第二个“StatusBarOverlaysWebView”,我不知道它为什么或来自哪里。有人可以帮忙吗?
提前致谢 尼克
【问题讨论】:
【参考方案1】:试试这个:
-
移除 iOS 平台(cordova platform rm ios)。
卸载插件(cordova plugin rm org.apache.cordova.statusbar)。
编辑根目录中的 config.xml 并在其中添加 3 个首选项。
重新安装插件(cordova 插件添加 org.apache.cordova.statusbar)。
编辑 plugin.xml 并删除 2 个默认首选项。
添加回 iOS 平台(cordova 平台添加 ios)。
我打赌这会解决你的问题。
【讨论】:
以上是关于在 Cordova Build 上设置 Cordova 状态栏插件默认值的主要内容,如果未能解决你的问题,请参考以下文章
Cordova 地理定位插件在 android 设备上不起作用
Cordova 5 build 命令正在删除 iOS 设备方向设置
Sencha Touch 2.3 / Cordova : Build 直接在设备上运行