首选项在Cordova构建后,BackupWebStorage重置为默认值

时间:2015-01-08 15:02:27

标签: cordova preference

这是我的第一个基于cordova的iOS应用程序(使用cordova 4.1.2)。

我想通过设置停用正在备份到云端的Web存储 <preference name="BackupWebStorage" value="none" />中的/Staging/config.xml

但是,在执行cordova build后,首选项将重置为其默认值“cloud”。

所以我尝试在项目根目录中的config.xml文件中设置首选项。但这只是添加了第二个BackupWebStorage首选项(正确设置为“none”),但不会替换仍然设置为“cloud”的/Staging/config.xml中生成的首选项。所以在同一个文件中有两个BackupWebStorage首选项 - 不好。

在网上搜索后,我发现将file.setMetadata com.apple.MobileBackup设置为1的{{1}}停用了为其调用的每个文件的云备份。也许这是要走的路。

但是,我仍然想知道,如果有一种持久的方法将BackupWebStorage首选项设置为“none”,那么在重建后它将不会重置为“cloud”。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

BackupWebStorage是一个特定于平台的首选项,所以在你的root config.xml中需要在platform标签中指定它,以便在进行cordova构建时放入正确的特定于平台的config.xml。

示例:
把它放到root config.xml

<platform name="ios"> 
  <preference name="BackupWebStorage" value="none" /> 
</platform>

使其成为ios config.xml中的实际BackupWebStorage首选项设置。

请参阅https://cordova.apache.org/docs/en/4.0.0/config_ref_index.md.html(页面底部)

答案 1 :(得分:0)

如果您想要可靠地设置BackupWebStorage选项,则应更改platforms/ios/cordova/defaults.xml文件,最初将BackupWebStorage设置为cloud

在主config.xml中设置选项有效,但实际上会在BackupWebStorage中产生两个platforms/ios/<app-name>/config.xml选项。似乎科尔多瓦将使用最新的(从您的主config.xml读取),但谁知道它是多么可靠。