小编mur*_*ang的帖子

SKPaymentTransactionStatePurchased错误地多次调用

我正在进行应用内购买,但我有一个我无法找到它的错误...

首先,我有一个按钮,当你点击它时,我的应用程序请求产品,捕获响应,你支付,你得到产品(一切正常).但这是我的问题.如果我点击按钮再次购买任何东西,我会收到两次警告,我买了两次.即使我第三次点击,我也会收到三次警报,我根据我点击的次数购买了三次,四次和五次.

所以看起来有些变量会一直存储请求.这是我的代码:

这会验证产品ID

- (void) validateProductIdentifiers
{ 
NSString *monedas = @" ID FROM PRODUCT ";
NSSet *product = [NSSet setWithObject:monedas];

productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:product];

productsRequest.delegate = self;
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[productsRequest start];
NSLog(@"STARTED REQUEST");
}
Run Code Online (Sandbox Code Playgroud)

这可以处理Apple的响应

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


productsRequest=nil;

int found=0;

SKProduct *paraPagar;
skProducts = response.products;

for (SKProduct * skProduct in skProducts) {
             NSLog(@"Found product: %@ %@ %0.2f",
          skProduct.productIdentifier,
          skProduct.localizedTitle,
          skProduct.price.floatValue);
    found=1;

    paraPagar = skProduct;
}
if (found==1){ 
    payment = [SKMutablePayment paymentWithProduct:paraPagar];
    payment.quantity = …
Run Code Online (Sandbox Code Playgroud)

in-app-purchase ios skproduct

6
推荐指数
2
解决办法
5301
查看次数

标签 统计

in-app-purchase ×1

ios ×1

skproduct ×1