用户在我的应用中购买了商品或恢复了现有购买后,其记录会存储在NSUserDefaults
中。我可能正确地认为这个文件可以很容易地编辑,特别是在越狱设备上,因此他们可以声称购买了他们没有的东西。
我想知道是否有更安全的方式存储应用内购买记录?
答案 0 :(得分:2)
可以修改存储在越狱手机上的任何内容。将它放入钥匙串会使修改稍微困难,但不会对越狱设备提供任何真正的保护。我将列表存储在服务器上,每当用户要求提供其他内容时,请在向客户端发送新内容之前检查该列表。
答案 1 :(得分:0)
当用户购买IAP时,App会抓取用户identifierForVendor,以某种方式修改它(例如模63,或者将其乘以某个数字,或者用它来播种srandom()并生成下一个random())并将结果写入NSUserDefaults。然后测试NSUserDefaults以查看其中是否包含正确的数字。