1

我一直在尝试为我的应用程序实现非续订订阅以解锁某些功能。我使用 Parse ( http://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial ) 遵循了 Ray Wenderlich 的教程,但无法让它工作。不知何故,如果用户购买了产品,它也会存储在手机中,因为当我尝试以另一个未购买该产品的用户身份登录时,所有功能都已解锁。我已尝试解决此问题,但似乎没有任何帮助。如果我删除应用程序,数据就会消失,我可以以未购买任何东西的用户身份登录,而不会看到锁定的功能。

有人有同样的问题吗?我正在考虑使用 iCloud 来存储用户数据。我找不到任何教程,涵盖如何实现 iCloud 帐户和订阅。有人可以帮我吗?从哪儿开始?有没有我错过的好教程?

谢谢!

4

2 回答 2

0

不知何故,如果用户购买了产品,它也会存储在手机中,因为当我尝试以另一个未购买该产品的用户身份登录时,所有功能都已解锁。我已尝试解决此问题,但似乎没有任何帮助。

这是由于此行在本地存储到期日期:

[[NSUserDefaults standardUserDefaults] setObject:expiryDate forKey:@"ExpirationDate"];
于 2013-11-20T19:42:58.987 回答
0

要使用沙盒 (NSUserDefaults) 解决您的问题,请为要解锁的每个功能创建一个动态密钥,包括 Parse(或其他服务)用户名。由于此用户名是唯一的(Parse 是必需的),因此您一定会得到预期的行为。

在这段代码...

[[NSUserDefaults standardUserDefaults] setObject:expiryDate forKey:@"ExpirationDate"];

将 forKey 值替换为

[username stringByAppendingString:@"ExpirationDate"]

...其中用户名是包含唯一用户名的 NSString。

于 2013-12-18T16:18:30.953 回答