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

Ale*_*x G 5 xcode objective-c ios

可能重复:
paymentWithProductIdentifier的替代解决方案是什么?

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

  SKProduct *selectedProduct = <#from the products response list#>;
  SKPayment *payment = [SKPayment paymentWithProduct:selectedProduct];
 [[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)

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

 [response.products];
Run Code Online (Sandbox Code Playgroud)

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

 -(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");
 }
 } 
Run Code Online (Sandbox Code Playgroud)

rde*_*mar 11

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

SKPayment *payment = [SKPayment paymentWithProduct:validProduct]
Run Code Online (Sandbox Code Playgroud)

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