首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在免费版本和付费版本之间保存数据

在免费版本和付费版本之间保存数据
EN

Stack Overflow用户
提问于 2014-01-22 16:37:50
回答 4查看 193关注 0票数 2

我将发布我的应用程序的付费和免费版本,实质上是保存图片和一些元数据。如果用户从免费版本开始并升级到付费版本,我希望当他们获得付费版本时,他们在免费版本中创建的数据就在那里。我唯一要做的就是将数据备份到iCloud,并给两个应用程序相同的iCloud备份地址,但是有比这更简单的方法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-22 17:40:27

我在我的一些应用程序中做你想要的事情。共享数据的基本方法是使用一个私有的名为pasteboard的文件。只要两个应用程序都来自同一个开发人员,两个应用程序就可以共享一个私有的名为pasteboard的应用程序。

这个基本的想法要求lite和付费版本都有自己的自定义URL方案。用户运行付费版本。付费版本查找lite版本的URL方案。如果在那里,它会显示一个“数据传输”按钮。当用户点击按钮时,您的应用程序大致执行以下操作:

  1. 应用程序A(完整版本)寻找自定义的URL方案的应用程序B(低版本)。
  2. 如果找到,请在适当的地方显示“传输”按钮。
  3. 应用程序A中的用户点击按钮
  4. 应用程序A使用URL发布App,上面写着“发送您的数据”。
  5. 应用程序A退出,应用程序B启动。
  6. App处理URL请求。
  7. App打包其数据,并放入一个名为UIPasteboard (名硬编码到应用程序A和应用程序B)。
  8. 应用程序B用URL启动App,上面写着“你有数据”。
  9. 应用程序B存在,应用程序A重新启动。
  10. App A处理URL请求。
  11. App A从黑板中获取数据,从黑板中删除数据,将数据安装到self中,并进行刷新。
  12. 应用程序A通知用户传输已经完成,并建议用户删除App。
  13. 用户为这是多么容易而高兴。

这个过程对代码来说并不简单,但它提供了一个微不足道的用户体验。早在iCloud出现之前,我就想出了这个点子。

可以将此过程修改为使用iCloud而不是UIPasteboard。但这样做的缺点是需要用户登录到iCloud并连接到互联网上。使用烤盘都是本地的。

票数 5
EN

Stack Overflow用户

发布于 2014-01-22 16:46:04

您可以这样做的一种方法是通过远程服务器保存用户信息(可能是通过用户名和密码登录)。这可以通过将用户元数据保存到XML / plist,然后上传这些数据来完成。然后,您将通过例如检索现有帐户选项来检索付费版本上的用户信息。

票数 1
EN

Stack Overflow用户

发布于 2014-01-22 16:44:44

由于这两个应用程序都位于自己的沙箱中,所以它们之间可能不可能共享本地数据。我甚至不确定同一个iCloud备份是否能工作。

您可以只提供一个应用程序,但实现应用程序内购买激活完整的版本?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21288720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档