Iphone 将数据从免费iOS版本复制到我的应用程序的完整版本?

Iphone 将数据从免费iOS版本复制到我的应用程序的完整版本?,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,我的iOS应用程序的完整版本如何从免费版本访问/复制数据库/设置 我正在考虑提供我的应用程序的免费版本,但我看不出购买完整版本的人如何从我的免费版本中访问数据?我认为唯一的方法是将数据与某个服务器同步,注册设备并将数据同步回完整版本 因为所有iOS应用程序都是沙盒,所以它们无法访问任何其他应用程序数据(除非您有越狱iOS) 所有应用都在iOS上隔离。它们作为不同的iOS系统用户安装。一个用户没有访问另一个用户文件的权限。在旧时代,解决这一问题的一个常见方法是。并告诉用户手动复制文件 你最好使用f

我的iOS应用程序的完整版本如何从免费版本访问/复制数据库/设置


我正在考虑提供我的应用程序的免费版本,但我看不出购买完整版本的人如何从我的免费版本中访问数据?

我认为唯一的方法是将数据与某个服务器同步,注册设备并将数据同步回完整版本


因为所有iOS应用程序都是沙盒,所以它们无法访问任何其他应用程序数据(除非您有越狱iOS)

所有应用都在iOS上隔离。它们作为不同的iOS系统用户安装。一个用户没有访问另一个用户文件的权限。在旧时代,解决这一问题的一个常见方法是。并告诉用户手动复制文件

你最好使用freemium模式来销售你的应用程序。让应用免费,并通过应用内购买解锁额外功能。这样,您的文件、文档和设置就不需要传输到专业版。解锁后,应用程序本身将变为专业版

以下是苹果公司的指南:(虽然不是很直观)

这里的演练:非常有用

最后但并非最不重要的一点是,要知道应用内购买是可以破解的。所以请读:,,和

请注意,您应该设置一个服务器来验证iap收据。虽然可以从应用程序内部执行,但并不安全。据我记忆所及,您可以通过iOS模拟器v5.0(即Xcode 4.2)中的StoreKit测试应用内购买。在此之前,它只能在设备上进行测试

@Dominik Hadl提到可以使用服务器同步文件。手术通常很复杂。如果您喜欢这个想法,您可以选择使用从一个应用程序启动另一个应用程序来简化操作。请参见以下步骤:

  • 用户在免费应用程序中按“开始同步”将文件上载到服务器
  • 服务器将文件的ID返回到免费应用程序
  • 用户按“启动Pro应用程序并下载我的文件”,这将导致一个自定义url方案来启动您的Pro版本(必须先安装),文件ID为
  • Pro版本使用文件ID直接下载该文件

  • 由于多个应用程序可以共享同一个iCloud容器,我认为现在的最佳实践是“简单地”将数据存储在iCloud中


    (我在引号下加上“simply”,因为将数据放入iCloud并取出很容易;但如果您真的想进行同步,您可能需要做的不仅仅是“我将从iCloud加载并保存到iCloud”,以便为用户提供最佳体验。)

    …如果您更喜欢通过服务器传输文件的想法。。。url方案。。。你是什么意思/这背后的基本想法是什么?@Jules我已经在编辑的答案中阐明了步骤。基本思想是使用自定义url方案启动应用程序并简化文件传输。我见过使用http执行备份的应用程序,该应用程序实际上是http服务器,然后使用pc或mac上传或下载文件。免费和完整版本不能通过http进行通信吗?尽管如此,我猜其中一个应用程序将不得不进入暂停状态。对此有什么建议吗?好吧,确保你的两个应用程序可以通过HTTP进行通信。但问题是你不能在一台设备上同时运行两个程序。因此,除了服务器部分,你需要让一个应用知道上传什么,另一个知道下载什么。这就是为什么我建议使用自定义url方案进行应用程序间通信。