Apple gives developers the ability to save purchases (transactions or receipts) in iCloud.
I have an app. that do that to save the receipts of non-renwable products because the other option available and asked from apple is to implement a user registration managed by my server which is vulnerable against protecting my content (User can spread their accounts to their classmates(30 students) to view the contents they bought).
Information to keep in mind
That those are the only available options(at least ones I know) to allow users to view content from their other devices. because apple do not have a restore feature for this kind of products(non-renwable). if you called [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]
for this type of products paymentQueue:updatedTransactions:
will not be called and only paymentQueueRestoreCompletedTransactionsFinished:
will be called.
Question - What will prevent users from spreading their iCloud accounts all over the world? user can create an apple account to only use it for iCloud to only move my transactions receipts to it. A class teacher can do it and give this account to his students.