【发布时间】:2011-05-16 05:32:39
【问题描述】:
我想在我的应用中添加应用内购买功能。
我的应用程序包含许多功能。在免费版本中,我的应用程序的某些功能将可以访问,而某些功能将被禁用。
我想做的是,一旦用户为我的应用程序的完整版付费,我想启用所有功能。
如何在 iOS 钥匙串中存储标志?
我该怎么做?
有没有例子或好的链接?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4 in-app-purchase
我想在我的应用中添加应用内购买功能。
我的应用程序包含许多功能。在免费版本中,我的应用程序的某些功能将可以访问,而某些功能将被禁用。
我想做的是,一旦用户为我的应用程序的完整版付费,我想启用所有功能。
如何在 iOS 钥匙串中存储标志?
我该怎么做?
有没有例子或好的链接?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4 in-app-purchase
有很多方法可以实现:
我将在这里谈谈第二点。我假设您无法获得自己的服务器。
最简单的方法是像往常一样将“禁用”功能编码到您的应用中。但是在某处存储一个标志,例如一个名为“contentHasBeenPurchased”的标志。您可以将此标志存储在任何地方;在 plist 中,在 NSUserDefaults 中,但这些是存储标志的不安全方式,因为越狱的应用程序可以轻松访问应用程序的沙箱。在大多数情况下,这些方法对于未越狱的用户来说是安全的……有软件可以让您访问 iOS 文件系统并从那里编辑 plist。所以是的,将这个特定的标志存储在 plist 或 NSUserDefaults 中肯定不是一个好主意。
因此,您只能将这个标志“contentHasBeenPurchased”存储在 iOS 钥匙串中,因为它是加密的。如果您不知道如何使用 iOS 钥匙串,学习起来有点复杂,但在不久的将来肯定会有所收获。在钥匙串中拥有标志后,只需检查其值是真还是假即可启用购买的内容。当用户购买应用时,只需将标志设置为 true,即可开始使用。
【讨论】: