Iphone 应用程序内消费品购买

Iphone 应用程序内消费品购买,iphone,ios,cocos2d-iphone,in-app-purchase,Iphone,Ios,Cocos2d Iphone,In App Purchase,嗨,我正在尝试在我的游戏中建立一个应用程序内商店,让玩家购买虚拟货币,这是一种消耗品。但我有点不确定我的方法是否正确。所以我认为在这里寻求帮助可能是件好事 按下Buy按钮后,将调用buyProductIdentifier - (void)buyProductIdentifier:(NSString *)productIdentifier { NSLog(@"Buying %@...", productIdentifier); SKPayment *payment = [SKPayme

嗨,我正在尝试在我的游戏中建立一个应用程序内商店,让玩家购买虚拟货币,这是一种消耗品。但我有点不确定我的方法是否正确。所以我认为在这里寻求帮助可能是件好事

按下Buy按钮后,将调用buyProductIdentifier

- (void)buyProductIdentifier:(NSString *)productIdentifier {

  NSLog(@"Buying %@...", productIdentifier);

  SKPayment *payment = [SKPayment paymentWithProductIdentifier: productIdentifier];
  [[SKPaymentQueue defaultQueue] addPayment:payment];

}  
然后是paymentQueue

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{


  CCLOG(@"PAYMENT QUEUE CALLED!");

  for (SKPaymentTransaction *transaction in transactions)
  {
    switch (transaction.transactionState)
      {
        case SKPaymentTransactionStatePurchased:
            [self completeTransaction:transaction];
            break;
        case SKPaymentTransactionStateFailed:
            [self failedTransaction:transaction];
            break;
//      case SKPaymentTransactionStateRestored:
//          [self restoreTransaction:transaction];
        default:
            break;
      }
  }
}
我试图通过评论SKPaymentTransactionStateRestored案例来让玩家每次都完成购买,而不是弹出一条消息说“你已经购买了这个,但还没有下载”

这种方法正确吗?如果不是,你们能给我一些提示吗


非常感谢

我认为这不是代码问题

您确定已在iTunes Connect中将应用内购买创建为“可消费品”吗


如果您选择了“非消耗品”,则只能购买一次。

是,我已将所有应用内购买设置为消耗品。现在它在休息后突然工作了。奇怪的我想你是对的。谢谢!:)