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

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

我正在考虑提供我的应用程序的免费版本,我不明白如何购买完整版本的人可以访问我的免费版本的数据?

所有的应用程序都在iOS上隔离。 它们被安装为不同的iOS系统用户。 一个用户没有权限访问另一个用户的文件。 在过去,解决这个问题的一个常见方法是启用iTunes文件共享 。 并告诉用户手动复制文件。

你最好的select是使用免费增值模式来销售你的应用程序。 使应用程序免费,并通过应用程序内购买解锁额外的function。 这样,你的文件,文件,设置将不需要转移到专业版。 解锁后,应用程序本身变成专业版。

这里是苹果的指南: https : //developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html (虽然不是很直观)。

这里的演练: http : //troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/是非常有帮助的。

最后但并非最不重要的一点,请注意,应用内购买是可以破解的。 所以请阅读: 如何检测“IAPcookies”? , validation从客户端的应用程序购买收据和https://stackoverflow.com/questions/4715414/apple-in-app-purchase-verify-receipt , validation应用程序购买 , 在应用程序内购买收据validation 。

请注意,你应该设置一个服务器来validationiap收据。 虽然从应用程序内部是可行的,但这并不安全。 据我记忆,你可以在iOS模拟器v5.0中通过StoreKittesting应用程序内购买,这应该是Xcode 4.2。 在此之前,只能在设备上进行testing。

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

  1. 用户在免费应用程序中按“开始同步”将file upload到您的服务器
  2. 服务器返回文件的ID到免费的应用程序
  3. 用户按“启动专业应用程序和下载我的文件”,这导致了一个自定义的URLscheme启动您的专业版(必须先安装),与文件ID
  4. 专业版使用文件ID直接下载该文件

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

因为所有的iOS应用程序都是沙盒的,所以他们不能访问任何其他的应用程序数据(除非你有越狱的iOS)。

由于多个应用程序可以共享同一个iCloud容器,所以现在最好的做法是“简单”地将数据存储在iCloud中。

(我把“简单地”放在引号内,因为把数据放在iCloud中很容易把它拿出来,但是如果你真的想做同步,你可能需要做的不仅仅是“我会从iCloud加载保存到iCloud“,以便为用户提供最好的体验。)