iOS开发:从可以在应用程序中验证的字符串生成解锁代码的简单方法是什么?

时间:2011-04-01 16:33:03

标签: iphone ios ipad

我正在深入iOS开发,我刚刚构建了我的第一款游戏。由于Apple控制所有应用内购买,因此如果我选择的话,它会让我很难向我的客户提供免费内容。因此,我希望能够通过电子邮件向单个客户发送可用于解锁应用内购买的单个解锁代码,但该代码只能由该单个客户使用,我将不会有任何类型服务器验证它。所以我的想法是让用户给我发送他们的Game Center用户名,我用它来生成代码,并在我的应用中添加一个检查,以限制每个应用程序解锁的数量(这样他们不能只创建一堆Game Center帐户并解锁所有IAP。)

从可以在应用中验证的字符串(在这种情况下,他们的游戏中心用户名)生成解锁代码的简单方法是什么?

非常感谢你的智慧!

* 更新 * 最简单的解决方案是使用hash类的NSString方法。

4 个答案:

答案 0 :(得分:3)

你可以做某种哈希。您可以阅读有关MD5哈希的信息。这使您可以从任何字符串生成唯一代码。一个好的策略可能是创建一个字符串,它是用户名和设备ID的组合(可以通过编程方式访问的UUID)。让您的应用从应用内生成代码和邮件。可能还有其他几种方法可以实现这一目标。

答案 1 :(得分:2)

我认为这种解锁代码与用户名绑定的许可证密钥几乎相同。在这种情况下,本文可能会引起关注:

Alan Odgaard

OpenSSL for License Keys

答案 2 :(得分:0)

不,你不能这样做。 IAP(除非我不知道的事情发生了变化)不适用于促销代码。 (另外,如果您计划为超过几个客户执行此操作,那么无论如何都不会有效,因为每个应用版本的促销代码数量有限)。

但没有什么可以阻止你在IAP之外提供自己的免费内容! Apple在您的应用程序中提供额外的免费内容没有问题。但重点是,如果你也用IAP出售它,你需要确保用户不在其他地方付费,然后免费获得它(从那时起,Apple将会看到你正在规避他们的减少购买)。

如果你选择这条路线,你可能想要某种服务器,你可以检查和兑换用户对免费内容的请求。我认为,城市飞艇可能会有这样的东西。

答案 3 :(得分:0)

here。您可以允许某些UUID可以免费访问iAP。