【问题标题】:MKStoreKit isFeaturePurchased reporting incorrectlyMKStoreKit isFeaturePurchased 报告不正确
【发布时间】:2014-01-06 23:53:35
【问题描述】:

我正在尝试使用 MKStoreKit 在我的应用中实现应用内购买。它在大多数情况下都很好用,除了我无法弄清楚的一件事。我正在使用以下方法来恢复交易。

-(void)restoreToFullVersion:(UIViewController *)sender{
    [MBProgressHUD showHUDAddedTo:sender.view animated:TRUE];
    [[MKStoreManager sharedManager] restorePreviousTransactionsOnComplete:^{
        [MBProgressHUD hideHUDForView:sender.view animated:TRUE];
        [[NSNotificationCenter defaultCenter] postNotificationName:@"userDidUpgradeNotification" object:nil userInfo:nil];
        [self upgradeSuccessful];
    } onError:^(NSError *error) {
        [MBProgressHUD hideHUDForView:sender.view animated:TRUE];
    }];
}//end method

我已经 nslogged 完成块并且上面的代码都按预期工作,除非你然后调用

[MKStoreManager isFeaturePurchased:kMainNoncomsumable];

它返回假。我认为在恢复过程完成后 MKStoreManager 应该为 isFeaturePurchased 返回 true 是否正确,还是我错过了什么?

我只实现了一项非消耗性应用内购买,并使用 Cocoa-pods 将 MKStoreManager 包含到我的项目中。

似乎 SO 上的其他人也有相同的 problem,但我还没有找到有效的解决方案。

提前感谢所有帮助!

【问题讨论】:

    标签: ios iphone cocoa-touch in-app-purchase mkstorekit


    【解决方案1】:

    据我所知,无论是否恢复了任何购买,MKStoreKit 都会调用完成块。你看,即使没有遇到任何错误,也可能没有任何购买要恢复。

    你应该做的测试恢复功能是:

    1. 添加到您的应用委托的-application:didFinishLaunchingWithOptions: 方法:

      [[MKStoreManager sharedManager] removeAllKeychainData];
      
    2. 在 iTunesConnect 上创建一个新的测试帐户。

    3. 使用此测试帐户在您的应用中进行购买。
    4. 致电+isFeaturePurchased: 以确保购买成功(应返回YES)。
    5. 强制关闭您的应用并重新启动它,以便调用-removeAllKeychainData。
    6. 致电+isFeaturePurchased:,确保应用不知道产品已被购买(应返回NO)。
    7. 致电-restorePreviousTransactionsOnComplete:onError:。
    8. 致电+isFeaturePurchased: 以确保产品已恢复(应返回YES)。

    确保您在整个过程中使用相同的测试帐户。

    顺便说一句,MKStoreKit 不会在 iOS7 上进行任何收据检查,因此您可能想尝试使用更新的库,例如 RMStore(似乎在cocoapods 也是)。

    【讨论】:

      【解决方案2】:

      我得到了它的工作,以防万一将来有人遇到同样的问题,这就是我所做的。我删除了应用内购买并在 iTunes Connect 中创建了一个新的,使用可可豆荚重新安装了 MKStoreKit,将应用内购买 ID 重新输入到 MKStoreKit plist 文件中,并等待了一天,现在一切正常!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-12
        • 1970-01-01
        • 2011-11-12
        • 2013-04-25
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多