paymentWithProductIdentifier在特定应用购买中已弃用

时间:2012-09-13 21:27:17

标签: objective-c ios xcode

  

可能重复:
  what is the alternative solution for paymentWithProductIdentifier?

您好我正在尝试在应用程序中购买ios 5和新ios 6.我被告知我的“paymentWithProductIdentifier已被弃用”,我想知道是否有人可以告诉我如何修改我的代码,我是一个有点困惑。

  SKProduct *selectedProduct = <#from the products response list#>;
  SKPayment *payment = [SKPayment paymentWithProduct:selectedProduct];
 [[SKPaymentQueue defaultQueue] addPayment:payment];

我见过人们建议如下,但我不确定我的代码是什么“产品响应列表”。我以为会是但不是。

 [response.products];

这是我的方法代码,如果有人可以告诉我要改变什么,将不胜感激,谢谢!

 -(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 

   { 

 SKProduct *validProduct = nil;

 int count = [response.products count];

NSLog (@"count for in app purchases is %d", count);

 if (count>0) {

    validProduct = [response.products objectAtIndex:0];
    SKPayment *payment = [SKPayment paymentWithProductIdentifier:@"appUpdate1"];

    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] addPayment:payment]; // <-- KA CHING!

     NSLog (@"payment proccessed I think");
 }
 } 

1 个答案:

答案 0 :(得分:11)

看起来您假设只有一个产品,您设置为validProduct。你应该可以使用

SKPayment *payment = [SKPayment paymentWithProduct:validProduct]

productIdentifier是SKProduct的一个属性,因此该方法使用从SKProduct获取的标识符创建新的付款对象。