gpt4 book ai didi

iphone - Apple 应用内购买 StoreKit 错误

转载 作者:行者123 更新时间:2023-12-03 19:16:00 25 4
gpt4 key购买 nike

我正在为书架实现应用程序购买功能,但在购买书籍期间随机出现错误消息。

错误信息是“付款请求仅限于通过 Store Kit 的 didReceiveResponse 方法返回的有效产品。”

我在苹果中找到了该文档 http://developer.apple.com/library/ios/#qa/qa2010/qa1691.html但这无助于解决问题...

同时观察者打印出另一个错误:“无法连接到 iTunes Store”。

我的应用内购买逻辑流程:

应用程序启动:

- (void) requestProductDataWithSet:(NSSet*)_set
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: _set];
request.delegate = self;
[request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
//setup UI here
}

购买:

- (void) purchase:(SKProduct *)product
{
if (!product || !verified) {
return;
}

SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject:product.productIdentifier]];
request.delegate = self;
[request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response{
if ([SKPaymentQueue canMakePayments] && [response.products count] > 0)
{
NSLogInfo(@"xxxxxxxxx Make payment xxxxxxxxx");
SKPayment *payment = [SKPayment paymentWithProduct:[response.products objectAtIndex:0]];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Purchase" message:@"You are not authorized to purchase from AppStore"
delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[alert release];
}
}

观察者:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
NSLogInfo(@"updatedTransactions transactionState:%d, productIdentifier:%@",transaction.transactionState,transaction.payment.productIdentifier);
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:

[self completeTransaction:transaction];

break;

case SKPaymentTransactionStateFailed:

[self failedTransaction:transaction];

break;

case SKPaymentTransactionStateRestored:

[self restoreTransaction:transaction];

default:

break;
}
}
}

最佳答案

看来问题不在你这边。根据Technical Q&A QA1691 ,你的代码没问题。

关于iphone - Apple 应用内购买 StoreKit 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com