我将发布我的应用程序的付费和免费版本,基本上可以保存图片和一些元数据。如果用户从免费版本开始并升级到付费版本,我希望他们在免费版本中创建的数据在他们获得付费版本时就在那里。我必须做的唯一的想法是将数据备份到iCloud,并为两个应用程序提供相同的iCloud备份地址,但是有更简单的方法吗?
答案 0 :(得分:5)
我在一些应用程序中执行您的要求。您可以共享数据的基本方法是使用名为粘贴的私有粘贴板。只要两个应用程序来自同一个开发人员,两个应用程序就可以共享专用的粘贴板。
基本思想要求lite和付费版本都有自己的自定义URL方案。用户运行付费版本。付费版本查找精简版的URL方案。如果有,则显示“数据传输”按钮。当用户点击按钮时,您的应用程序大致执行以下操作:
这个过程对代码来说并不简单,但却带来了琐碎的用户体验。在iCloud存在之前,我想出了这个。
可以修改此过程以使用iCloud而不是UIPasteboard
。但这有一个缺点,即要求用户登录iCloud并连接到Internet。使用粘贴板都是本地的。
答案 1 :(得分:1)
您可以通过远程服务器保存用户信息(可能通过用户名和密码登录)。这可以通过将用户元数据保存到XML / plist然后上传它来完成。然后,您将通过例如检索现有帐户选项检索付费版本上的用户信息。
答案 2 :(得分:0)
由于这两个应用程序都位于自己的沙箱中,因此可能无法在它们之间共享本地数据。我甚至不确定相同的iCloud备份是否可行。
您可以只提供一个应用,但实施应用内购买以激活完整版本?
答案 3 :(得分:0)
请注意,将应用从一个版本升级到另一个版本不会清除用户首选项中的数据。升级应用程序时,存储在用户默认值或本地存储(SQLite或核心数据)中的数据不会丢失。请检查它是否对您的情况有帮助。