我的iOS应用程序的完整版本如何从免费版本访问/复制数据库/设置?
我正在考虑提供我的应用程序的免费版本,我看不出那些购买完整版本的人如何能够访问我的免费版本的数据?
答案 0 :(得分:9)
所有应用都在iOS上隔离。它们作为不同的iOS系统用户安装。一个用户无权访问其他用户的文件。在过去,解决此问题的一种常见方法是enable iTunes file sharing。并告诉用户手动复制文件。
您最好的选择是使用免费增值模式来销售您的应用。使应用程序免费,并通过应用内购买解锁额外的功能。这样,您的文件,文档,设置就不需要转移到专业版。解锁后,应用程序本身就变成了专业版。
以下是Apple的指南: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/非常有用。
最后但同样重要的是,请注意应用内购买是可以破解的。请阅读:How to detect "IAP crackers"?,Verifying In App Purchase Receipt from Client和https://stackoverflow.com/questions/4715414/apple-in-app-purchase-verify-receipt,verify in app purchase,In App Purchase Receipt verification within app。
请注意,您应该设置服务器以验证iap收据。虽然它可以在应用程序内部实现,但它并不安全。据我所知,您可以通过iOS模拟器v5.0中的StoreKit测试应用内购买,应该是Xcode 4.2。在此之前,它只能在设备上进行测试。
@Dominik Hadl提到您可以使用服务器同步文件。操作通常很复杂。如果您更喜欢这个想法,可以选择使用custom url scheme从另一个应用程序启动一个应用程序以简化操作。请参阅以下步骤:
答案 1 :(得分:0)
我认为你能做到这一点的唯一方法是将数据与某个服务器同步,注册设备并将数据同步回完整版。
因为所有iOS应用都是沙盒,所以他们无法访问任何其他应用程序数据(除非你已经越狱了iOS)。
答案 2 :(得分:0)
由于多个应用可以共享同一个iCloud容器,我认为现在的最佳做法是“简单地”将数据存储在iCloud中。
(我把“简单”放在引号之下,因为很容易将数据放入iCloud并将其取出;但如果你真的想要进行同步,你可能需要做的不仅仅是“我将从iCloud加载并保存到iCloud“以便为用户提供最佳体验。”