【问题标题】:Marmalade SDK - How to make data persistant after updateMarmalade SDK - 如何在更新后使数据持久化
【发布时间】:2014-05-16 16:34:28
【问题描述】:

我如何在用户获得更新时保留他们的数据。

我使用 Marmalade SDK 开发应用程序,并将用户数据保存到 bin 文件和文本文件中,保存文件时使用 ram:// 前缀。

如果我删除该应用程序并再次从应用程序商店获取它并使用可能符号它丢失了所有用户数据。我想发布一个不会删除用户数据的更新。该应用程序不附带任何用户数据文件,应用程序会在您使用时创建它们。

编辑:Marmalade 是跨平台的,但我的问题仅适用于 iOS,并且该应用已发布,我询问的是现有应用。

【问题讨论】:

  • 什么是否决投票的标准:/无论如何,如果我没有正确存储我的数据,我似乎无法为我的应用发布更新并保留我的用户数据。
  • 对于那些想知道的人,检查我的应用程序的调试版本的日志会发现保存到 ram://userdata.bin 有一个以documents/userdata.bin 结尾的绝对路径,因此我假设我的用户数据将在我发布更新时转移。

标签: ios marmalade


【解决方案1】:

从设备中删除应用程序,也会删除它的沙盒。因此,本地存储的任何用户数据都将被删除。这是预期的行为。

如果用户数据来自网络,则只需重新下载即可。

【讨论】:

  • 如何在不删除沙盒中的用户数据的情况下发布 iOS 应用更新?
  • iCloud 不备份用户数据吗?
  • @Desdenova 谢谢,这就是我想要的。我需要确定我的用户数据是否保存在文档文件夹中,因此将在更新中传输。
  • @Abizern 谢谢你的帮助。删除我的应用程序会删除用户文件,并不一定意味着用户数据会在更新中丢失。
  • 没有。并且更新发生在适当的位置,因此沙箱不受影响。
【解决方案2】:

你读过tutorial for dealing with files吗?

我从未使用过那个 sdk,但是:

  • rom 用于您的应用数据区域的只读部分,并且是只读的。
  • ram 用于您的应用程序数据区域的可写部分。此驱动器是唯一保证跨平台存在的驱动器
  • rst 用于手机或平板电脑上的可移动存储卡
  • raw 用于无需修改直接传递到底层操作系统的路径。 (并非所有平台都支持)
  • tmp 用于 s3e 数据区域之外的系统临时文件夹。 (系统临时文件夹,目前仅适用于 iOS)

那么也许您可以尝试 rst:// 并获得预期的结果?

【讨论】:

  • 谢谢,但该应用已发布我无法更改它保存用户数据的方式,我想发布更新而不删除现有应用的用户数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 2011-12-27
  • 2018-04-26
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多