保护应用内购买后下载的内容被复制到其他设备的建议方法是什么?典型的过程似乎是将内容复制到“Application Support”文件夹并在NSUserDefaults中设置一个标志。这些都可以通过Finder或类似设备访问iOS设备的人来更新。如果我存储交易收据,也可以复制。
我可以使用restoreTransactions功能来验证设备何时在线,但这需要用户输入密码,因此它不是静默背景检查,如果设备处于脱机状态,显然不会起作用。< / p>
我很想在下载时使用设备ID将内容绑定到设备,但Apple建议不要使用它。
我错过了什么吗?
答案 0 :(得分:0)
正如您提到的那样保存它NSUserDefaults
中的状态很容易编辑,但在KeyChain中保存状态会使用户更难以更改下载的标记状态。
我将所有IAP下载状态保存在KeyChain中,确保您不能在NSUserDefaults
中将密钥设置为true。
在我们开发的游戏中,如果用户购买了游戏物品(也包括容器检查),我们也会检查服务器端。
在读者中,我们通过基于名称和一些秘密内容的随机代码使PDF受密码保护;)
我的猜测是,这应该会让你不那么容易破解,只要记住,你不能保持一个破解者的头。但你绝对可以放慢速度。