【问题标题】:iOS 6 local storage file appears twiceiOS 6本地存储文件出现两次
【发布时间】:2012-12-24 21:34:34
【问题描述】:

我有一个使用本地存储的应用程序(使用 sencha 'Ext.data.proxy.LocalStorage')离线查看一些内容。我因违反 iOS 数据存储指南而被 iTunes 拒绝。

我认为这可能与在 iOS 5.1 之前的 iOS 中 /Documents 文件夹中的 localStorage 有关。为了确认在较新版本中文档文件夹是空的,我检查了,但我仍然找到了 .file__0.localstorage。

奇怪的想法是同一个文件(但没有前导点)也存在于 library/caches 文件夹中,它应该在哪里。

两者的内容相同。

有人知道这是怎么回事吗?我已经在 Sencha Support 中询问过,但似乎与 Sencha 框架无关。

注意:我没有使用 PhoneGap,只有 Sencha。

【问题讨论】:

  • 你如何打包你的应用程序以上传到应用商店?你只使用普通的 UIWebView 吗?
  • 我正在使用 sencha 包装,它使用普通的 UIWebView afaik
  • iTunes 最终批准了该应用程序,但除了将应用程序设置为 iOS >=5.1 而不是支持旧版本外,没有做任何更改。他们没有给出更多解释。
  • @Sadako 看在上帝的份上,请帮助我了解如何使用 sencha touch 将 DB 文件保存到文档目录,我们根本无法访问文档路径,我们关注了 this 链接.请帮助我,拜托:)

标签: ios ios6 sencha-touch local-storage sencha-touch-2.1


【解决方案1】:

使用 Sencha 制作一个非常小的 Hello World 应用程序来写入本地存储,我可以重现这种行为。似乎在应用程序退出时,它会将本地存储文件的副本写入 /Documents 文件夹。

这对我来说似乎很可疑,它让我想起了 iOS 5.1 的 PhoneGap 补丁,它也备份了 localStorage 文件。

在 iOS 5.1 中,Apple 开始将 localStorage 文件放在 Library/Caches 文件夹中,这破坏了许多应用程序,因为数据不再可靠地存储。于是PhoneGap等人开始实现Workarrounds,将localStorage文件备份到documents文件夹,需要时自动恢复。

为了证明 Sencha 做了类似的事情,我打开了生成的 .app 包,发现了一个包含本机包装器代码的 stbuild_template 文件。它当然是编译过的,但是搜索字符串“localStorage”会得到一些有趣的结果,例如:

restoreLocalStorage
preserveLocalStorage
Could not remove source file while backing up localstorage Could not copy localstorage backup . Caches WebKit/LocalStorage .file__0.localstorage file__0.localstorage
SNLocalStoreageFix

我还发现了很多对 NimbleKit 的引用,似乎在内部用于包装。

这个帖子还暗示了一个解决方案,解决了 OP 正在使用的 Sencha Touch 2.1 中的 iOS 5.1 本地存储问题:http://www.sencha.com/forum/showthread.php?194674-Localstorage-and-native-iOS-5.1-apps&s=04149e771f9c4eea15cb6f6d97069ff6

这一切都证明了 Sencha 为 iOS 5.1 实现了一个工作区,它将 localStorage 放在 /Documents 文件夹中。由于您只使用 localStorage 文件进行缓存,Apple 拒绝了您,因为您将非用户数据存储在 /Documents 中。

我认为使用 PhoneGap 可以选择禁用此备份。因此,您可能需要考虑使用它或询问 Sencha 是否有类似的选项来禁用它。

【讨论】:

  • 我已经问过 sencha:sencha.com/forum/… 但我还没有任何答案。现在PhoneGap是我最好的机会
猜你喜欢
  • 1970-01-01
  • 2015-10-24
  • 2019-07-16
  • 2017-10-31
  • 2019-03-28
  • 2012-03-31
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多