我一直在尝试为我的应用程序实现不续订订阅以解锁某些功能。我使用Parse(http://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial)跟随Ray Wenderlich的教程,但无法使其工作。不知何故,如果用户购买产品,它也会存储在手机中,因为当我尝试登录时,另一个没有购买产品的用户将解锁所有功能。我试过修理这个,但似乎没有任何帮助。如果我删除了应用程序,数据就会消失,我可以以没有购买任何未看到锁定功能的用户身份登录。
有人有同样的问题吗?我正在考虑使用iCloud来存储用户数据。我无法找到任何有关如何与订阅一起实施iCloud帐户的教程。有人可以帮帮我吗?从哪儿开始?有没有我错过的好教程?
谢谢!
答案 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。