1

我已经在我的应用程序中实现了应用购买。点击购买按钮时,它会要求确认。但是点击确定后,它总是显示一条错误消息,说“你已经购买了这个,但还没有下载。点击确定立即下载。” 这之后什么也没有发生。在

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{}

它总是调用这种情况“SKPaymentTransactionStateFailed:”。尝试打印错误并显示“无法连接到 iTunes 商店”。我所做的是,单击购买按钮时,调用此方法:

`- (void) requestProductData
{
    NSLog(@"requestProductData");
    SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: 
                                 [NSSet setWithObjects:featureBusiness , nil]] ; // add any other product here
    request.delegate = self;
    [request start];
    if([delegate respondsToSelector:@selector(beginAnimationPurchased)]) {
        [delegate beginAnimationPurchased];
    }
}
`

任何人都可以指导我吗?提前谢谢。

4

1 回答 1

0

我有同样的问题。我使用的是 Ray Wenderlich 示例中的 IAPHelper 代码,然后我将其子类化为我自己的 MyAppIAPHelper。我通过在主视图控制器“m”文件的顶部声明一个观察者来解决这个特殊问题:

IAPHelper *observer;

然后在我的主视图控制器的 ViewDidLoad 中添加一个事务观察器:

observer = [[IAPHelper alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];

在我的 dealloc 中,我添加了:

[[SKPaymentQueue defaultQueue] removeTransactionObserver:observer];

不确定这是最好的解决方案,但它对我有用。希望这可以帮助 :-)

于 2013-07-08T23:17:42.150 回答