非续订订阅已购买警报轨道

时间:2014-10-16 09:49:45

标签: ios objective-c in-app-purchase ios8 non-renewing-subscription

我正在我的应用程序中实现非续订订阅IAP,我将服务器实现到期订阅。当我点击我已经购买的订阅时,我被卡住了,它显示了一个对话框,"此应用内购买已经被购买。它将免费恢复。" ,点击OK按钮。我在这里有两个问题:

  1. 有时它会显示上面的对话框,但有时会显示"点按“购买”以续订或延长它。" 对话框。谁能告诉我这背后的原因是什么?或者它只是一个沙盒问题。 (This screenshot from another thread.
  2. 当我"此应用内购买已被购买。它将免费恢复。" 提醒,我如何停止活动指示?是否有委托方法来跟踪这个?
  3. 我找不到,但 iOS 8 还有什么新内容?

    enter image description here

    谢谢

2 个答案:

答案 0 :(得分:12)

  1. 对于不可续订的订阅,正确的对话框是"点击购买以续订或延长。" 。这样做的原因是,一旦拥有非消费品,它就永久拥有;因此"更新或延长"语言

  2. 您收到此对话框是因为您在应用程序上完成交易之前尝试再次购买同一产品。 App Store已批准该交易并向您发送了一个交易ID,但您尚未确认已交付承诺的内容/访问权限。因此,事务处于approved状态。在您完成交易之前,交易仍与应用程序绑定。

  3. 请参阅"Finishing the Transaction" in Apple's (confusing, convoluted) documentation

答案 1 :(得分:0)

我在耗材IAP中遇到了这个问题,我调用了函数[[SKPaymentQueue defaultQueue] finishTransaction:transaction]。然后我发现在调用函数之前发生了异常,然后我交换了两个函数的位置,现在问题解决了。