Copying data from the free version of iOS to the full version of my application?

How could the full version of my iOS application / copy the database / settings from the free version?

I'm going to provide a free version of my application and I don’t see how people buying the full version can access the data from my free version?

+4
source share
3 answers

All applications are isolated on iOS. They are installed as different users of the iOS system. One user does not have access to other user files. In the old days, one common approach to solving this problem is to enable iTunes file sharing . And ask users to manually copy the files.

Your best bet is to use the freemium model to sell your application. Make the app free and discover additional features through purchase through the app. Thus, your files, documents and settings will not need to switch to the pro version. The application itself becomes pro after unlocking.

Here is Apple's guide: https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html (although not very intuitive).

Walkthrough here: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ is very helpful.

Last but not least, keep in mind that in-app purchases are hacked. Therefore, please read: How to detect "IAP crackers", " " Check on receipt of a purchase from a client " , and https://stackoverflow.com/questions/4715414/apple-in-app-purchase-verify-receipt , check when purchasing the application , In the application Checking the confirmation of purchase in the application .

Please note that you must configure the server to check for iap receipts. Although this can be done from within the application, it is not safe. As far as I remember, you can test the purchase through the StoreKit application in iOS simulator v5.0, which should be Xcode 4.2. Prior to this, it can only be tested on the device.

@Dominik Hadl mentioned that you can use a server to synchronize a file. The operation is usually complicated. If you prefer this idea, you can use a custom URL scheme to launch one application from another to make work easier. See the steps below:

  • Click "Start Sync" in the free application to upload the file to your server.
  • The server returns the file identifier to the free application
  • The user clicks “Launch the Pro App and download my file”, which leads to the creation of a custom url for launching your version of Pro (must be installed first) with the file ID
  • The Pro version uses the file identifier to directly download this file.
+9
source

I think the only way to do this is to synchronize data with some server, register the device and synchronize data with the full version.

Since all iOS apps are sandboxed, they cannot access any other app data (unless you have jailbroken iOS).

0
source

Since multiple applications can use the same iCloud container, I would say that the best practice right now is to simply save data in iCloud.

(I put “just” in quotes because it’s easy to put data in iCloud and take it out, but if you really want to sync, you may need more than just “I will download from iCloud and save to iCloud” to provide a better experience for user.)

0
source

Source: https://habr.com/ru/post/1402076/


All Articles