在没有可用internet连接的情况下在iOS中进行IAP

在没有可用internet连接的情况下在iOS中进行IAP,ios,objective-c,in-app-purchase,Ios,Objective C,In App Purchase,我的标题可能有误导性,但我想问的是,如果用户在进行IAP时没有任何internet访问权限,代理是否返回任何错误 目前,我已经实现了此委托,但当用户点击以购买IAP时,不会调用此委托: - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { for (SKPaymentTransaction *transaction in transactions) {

我的标题可能有误导性,但我想问的是,如果用户在进行IAP时没有任何internet访问权限,代理是否返回任何错误

目前,我已经实现了此委托,但当用户点击以购买IAP时,不会调用此委托:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction *transaction in transactions)
    {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
                [self completeTransaction:transaction];
                break;
            case SKPaymentTransactionStateFailed:
                [self failedTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored:
                [self restoreTransaction:transaction];
                break;
            default:
                break;
        }
    }
}
如果用户尝试在没有连接的情况下购买IAP,我应该如何处理此问题?
我想检测错误并向用户显示一条警告消息,告诉他需要internet连接。

有一个单独的代理调用,用于响应恢复过程中的故障(如果网络出现故障,该调用将返回错误):

-(void)paymentQueue:(SKPaymentQueue*)队列恢复已完成事务失败WitherRor:(NSError*)错误

无论何时显示可能的购买,您都应该请求更新的
SKProduct
信息。SKRequest上有一个失败的委托方法:

-(void)请求:(SKRequest*)请求失败错误:(NSError*)错误

否则,您需要使用可达性或其他方法来确定用户是否在显示产品和购买之间离线


抱歉,这不能更好地回答您的问题。我认为简单的答案是“不”。可能应该有一个,但在正常情况下似乎没有必要。

谢谢,这就是我正在寻找的-(void)request:(SKRequest*)request didFailWithError:(NSError*)error