5

重複の可能性:
paymentWithProductIdentifierの代替ソリューションは何ですか?

こんにちは私はiOS5と新しくiOS6のアプリ購入を設定しようとしています。「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");
 }
 } 
4

1 に答える 1

11

validProductに設定した製品が1つだけであると想定しているようです。あなたが使用できるはずです

SKPayment *payment = [SKPayment paymentWithProduct:validProduct]

productIdentifierはSKProductのプロパティであるため、このメソッドは、SKProductから取得した識別子を使用して新しい支払いオブジェクトを作成します。

于 2012-09-14T00:33:41.863 に答える