可能重复:
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");
}
}
答案 0 :(得分:11)
看起来您假设只有一个产品,您设置为validProduct。你应该可以使用
SKPayment *payment = [SKPayment paymentWithProduct:validProduct]
productIdentifier是SKProduct的一个属性,因此该方法使用从SKProduct获取的标识符创建新的付款对象。