【问题标题】:Unexpected behaviour with iAP on iOSiOS 上 iAP 的意外行为
【发布时间】:2012-09-26 19:08:00
【问题描述】:

我在我的 iOS 设备上重新安装了我的应用程序。 (我已将其删除,并从 GC 帐户注销)。

应用启动后,“paymentQueue: updatedTransactions:”被调用。它与transactionState' == SKPaymentTransactionStatePurchased 有一笔交易。 (事实上​​,它是我的应用程序拥有的唯一 iAP)。

然后 GC Sandbox Login ViewController 出现了。

如果我没有使用 iTunes 帐户或 GC 帐户登录,为什么 iAP 对象会获得已购买状态?

我没有登录 Game Center,这是肯定的。但我不太确定是否使用 iTunes Store Sandbox 帐户登录。 (这甚至存在吗?)如果存在,我该如何注销?

我希望能够测试我的应用程序的“恢复”按钮,但是由于该函数已经被调用,并且该项目显示为已购买,我不能...为什么在我添加时甚至调用该函数SKPaymentQueue 的观察者?检查未完成的交易?但它不应该这样做,因为我不应该登录到 iTunes 帐户...

请告诉我你有什么想法,这让我发疯了。

【问题讨论】:

  • 我仍然不明白为什么在没有登录任何东西,也没有从 iTunes Store 和 GC 注销的情况下使用 SKPaymentTransactionStatePurchased 交易调用该函数...
  • 您是否有可能未能确认/标记为已交付之前的交易?如果是这样,系统会继续重新发布。
  • 很可能,因为我不知道我必须这样做...:/
  • finishTransaction:,不是吗?我刚刚在指南中检查过...
  • 它就像一个魅力!你先生让我开心。如果您创建一个,我会接受您的回答!

标签: iphone ios storekit in-app-purchase


【解决方案1】:

听起来您可能无法在您的交易处理后调用[SKPaymentQueue finishTransaction:] - IAP 系统将在每次启动时继续尝试交付交易,直到您这样做。因此,只需在您完成交易处理后添加该调用即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2016-02-11
    • 1970-01-01
    相关资源
    最近更新 更多