gpt4 book ai didi

ios - SKPaymentQueue addPayment 抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:46 24 4
gpt4 key购买 nike

我已经在 Apple 的门户中配置了我的 iOS 应用程序的应用内购买,我正在使用 SKProductsRequest 请求我的产品,并正确接收并将它们存储在 NSMutableDictionary 中。

-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse*)response
{
NSLog(@"%@", @"AppStore: Accepted");
for (SKProduct * s in response.products) {
NSLog(@" [%@]", s.productIdentifier);
}

[productsById removeAllObjects];

for (SKProduct * product in response.products) {
[productsById setObject:product forKey:product.productIdentifier];
}

[request release];
}

但是,当尝试进行购买时,addPayment 行抛出 'NSInvalidArgumentException',原因:'*** setObjectForKey: key cannot be nil'

-(void)purchase:(NSString *)productId {
SKProduct *selectedProduct = [productsById objectForKey:productId];
SKMutablePayment *payment = [SKMutablePayment paymentWithProduct: selectedProduct];
payment.quantity = 1;

[[SKPaymentQueue defaultQueue] addTransactionObserver: self];
[[SKPaymentQueue defaultQueue] addPayment: payment]; //<- this line throws an exception
}

我已经检查过 productId 是一个有效的产品并且 payment.quantity > 0,正如 apple 的文档所说。我在模拟器和 iPad 中都尝试过,结果相同。在此先感谢您的帮助。

最佳答案

我很确定您没有分配 productsById 字典。

将类似 self.productsById = [@{} mutableCopy]; 的内容放入您的 -viewDidLoad: 方法

关于ios - SKPaymentQueue addPayment 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15844054/

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