[绍棠] This In-App purchase has already been bought. It will be restored for free.

出现这样的问题,是支付没有finish造成的,一般在支付过程中断网了,下次再购买同一商品的时候就会出现这样的问题,

解决办法,在点击购买的时候判断支付队列中是否有为finish的商品,若有,则进行处理之后将其finish

 NSArray* transactions = [SKPaymentQueue defaultQueue].transactions;

    if (transactions.count > 0) {

        //检测是否有未完成的交易

        SKPaymentTransaction* transaction = [transactions firstObject];

        if (transaction.transactionState == SKPaymentTransactionStatePurchased) {

            [self completeTransaction:transaction];

            return;

        } else if (transaction.transactionState == SKPaymentTransactionStateFailed){

扫描二维码关注公众号,回复: 10412378 查看本文章

            [self finishTransaction:transaction wasSuccessful:NO];

            return;

        }

    }

发布了179 篇原创文章 · 获赞 24 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/happyshaotang2/article/details/91489745