正确存储应用程序内购买

B.S*_*.S. 7 iphone objective-c nsuserdefaults in-app-purchase ios

是否有任何建议如何存储应用内购买结果.

我使用raywenderlich教程购买

它将结果存储到NSUserDefaults.

所以问题:将应用内结果存储为bool值是否安全NSUserDefaults.因为每个人都可以查看Library/Preferences文件夹,看看那里写的是什么.

mel*_*sam 8

是的,这应该没问题,但可能取决于应用程序.大多数"普通"用户都不会在你的Library/Preferences文件中喋喋不休.因此,如果您正在为主流受众(平均到低技术知识)编写应用程序,NSUserDefaults是一个安全的地方.你还必须考虑人们的时间价值.如果您的应用程序成本为99美分,那么购买它的速度可能比破解某些prefs文件要快.如果你的应用程序售价99美元,那么就有一些人会去寻找黑客.

因此,如果您正在为黑客/开​​发人员编写超级昂贵的应用程序或应用程序,您可能希望将结果存储在钥匙串中或更安全的地方.

我个人使用了一个存储在NSUserDefaults中的简单"hasUpgraded"BOOL,从未出现过问题.