【问题标题】:iOS In-App Purchasing - Non-Renwing Subscription problematicsiOS 应用内购买 - Non-Renwing 订阅问题
【发布时间】:2013-10-18 11:21:30
【问题描述】:

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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    在这段代码中...

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

    将 forKey 值替换为

    [username stringByAppendingString:@"ExpirationDate"]
    

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-26
        • 1970-01-01
        • 2018-06-01
        • 2016-01-25
        • 2013-01-20
        • 1970-01-01
        • 2017-06-09
        • 2015-07-25
        • 1970-01-01
        相关资源
        最近更新 更多