1

在为应用程序编写应用程序内购买时,连接 iTunes 商店时会显示活动指示器。当连接正常完成时,活动指示器可以停止,但以下情况除外:

有两个“取消”按钮:1。选择购买时,系统将显示带有“取消”按钮的iTunes Store登录视图。2.如果输入密码继续,如果该产品之前购买过,另一个“取消”按钮可以返回。

由于活动指示器在步骤 1 开始动画,如果按两个“取消”按钮中的任何一个将完成该过程,但活动指示器仍在旋转,因为我无法捕捉到取消按钮。

我已经尝试过“alertView”和“actionSheet”来获取buttonIndex,但它们没有在自定义alertView中工作。

func alertView(View: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){
    println(buttonIndex)
}

func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) {
     println(buttonIndex)
}

任何建议将不胜感激。

4

1 回答 1

1

为了检测应用内购买何时被取消,您必须设置一个SKPaymentTransactionObserver在交易更改状态时通知的。特别是,当事务更改为状态时您会感兴趣SKPaymentTransactionStateFailed,然后您可以关闭活动指示器。

有关objective-c 的实现,请参见此处。

于 2015-06-22T04:12:47.093 回答