所以我正在我的应用中实现移除广告功能 当用户点击删除广告时,我首先检查是否已通过以下方式购买:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
如果是这样的话,我会在NSUSerDefaults
中保存一个变量,否则用户将进行新的付款。
如果用户输入已购买此ID的Apple ID(如他的朋友或其他内容),NSUserDefaults
中的变量将会更改,并且广告将在其设备上删除。
我的问题是:它是如何为所有用户完成的,还是我错过了什么?
用户是否可以访问NSUserDefaults
来编辑.plist
文件或其他内容?
谢谢大家。
答案 0 :(得分:2)
使用NSUserDefaults
并不安全且容易入侵。 Keychain允许安全地存储小数据项,并且可能是保存此信息的最佳选择。
如果你加密数据,加密需要安全存储,最好的地方是钥匙串,所以更容易将数据存储在钥匙串中。
答案 1 :(得分:1)
是的,周围有软件允许用户修改NSUserDefaults。建议在将变量存储到NSUserDefaults之前对其进行加密。也许使用device_id + secret作为AES的关键来保护你的变量,这应该足以阻止大多数脚本小子。