iOS应用程序内购买 - 不续订订阅问题

时间:2013-10-10 15:33:26

标签: ios xcode in-app-purchase icloud subscription

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

有人有同样的问题吗?我正在考虑使用iCloud来存储用户数据。我无法找到任何有关如何与订阅一起实施iCloud帐户的教程。有人可以帮帮我吗?从哪儿开始?有没有我错过的好教程?

谢谢!

2 个答案:

答案 0 :(得分:0)

  

不知何故,如果用户购买产品,它也会存储在手机中   当我尝试以另一个没有购买的用户登录时   产品所有功能都已解锁。我试过修理这个但是   没什么好帮的。

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

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

答案 1 :(得分:0)

要使用沙箱(NSUserDefaults)解决您的问题,请为要解锁的每个功能创建动态密钥,包括Parse(或其他服务)用户名。由于此用户名是唯一的(对于Parse是强制性的),因此您将确保获得预期的行为。

在此代码中......

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

替换forKey值
[username stringByAppendingString:@"ExpirationDate"]

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