2014-12-03 22 views
1

Cordova localStorage是否得到本地iTunes电话备份备份?Cordova localStorage电话备份

这意味着,如果我从iTunes中备份恢复手机,localStorage是否也会恢复以及该应用程序?

我想问的原因是当我在应用程序中注册推送通知时,我想提出一个对话框,并保存在localStorage中,我确实显示了此对话框,它解释了用户可能期望的推送通知类型我的应用程序,而不是盲目注册应用程序推。通过这种方式,用户可以看到在设备上启用推送的一些好处,或者选择不推送推送通知。

预先感谢您。

回答

0

是的它会。

让我们先尝试一个简单的应用程序,并在localstorage中保存一些值,然后与iTunes同步,然后重新存储。

通常当使用localstorage时,它会将数据保存在NSLibraryDirectory or NSDocumentDirectory中,这些数据在还原或升级后应该可用。

Plus如下所述iTunes确实还原Web应用程序缓存/数据库即本地存储。

什么的iTunes备份

  • 自动填充的网页。
  • 离线网页应用程序缓存/数据库。

全面上市http://support.apple.com/en-us/ht4946

+0

听起来不错,所以我不应该依赖localStorage的不断推进有关对话或诸如此类的东西的信息,因为这些信息会坚持,即使经过备份恢复到设备。当在iTunes中将备份恢复到设备上时,如果您打开应用程序,则必须重新授权该应用程序以进行推送通知,因此,通过该方式存储我已注册的信息并不正确。必须有一种方法可以查询推送注册以确定应用是否尝试注册推送。我正在使用库进行推送注册,我可能需要扩展它。谢谢。 – ScottN 2014-12-03 15:52:07

+0

我的理解;一个建议。如果你在服务器端有东西,那么你可以在服务器端和应用端都存储特定的令牌/值。根据令牌,您可以验证哪个应用和用户已订阅推送以及他有兴趣接收哪些推送消息。所以无论何时用户选择推送订阅,只需重新生成一个包含相关信息的新标记并保存在双方。希望它会给你一些想法或帮助。谢谢 – AAhad 2014-12-04 10:14:05

0

取决于

一般来说iOS不会备份缓存。

However, iCloud and iTunes do not back up the contents of the following directories: 

<Application_Home>/AppName.app 
<Application_Data>/Library/Caches 
<Application_Data>/tmp 

From Apple documentation

但由于科尔多瓦3.0。科尔多瓦有钥匙BackupWebStorage

设置为cloud以允许通过iCloud备份网络存储数据。设置为 local仅允许通过iTunes同步进行本地备份。设置为none阻止 网络存储备份。

From Cordova 4.0 iOS Configuration