gpt4 book ai didi

ios - SKProductsRequest - 如何处理超时/连接错误?

转载 作者:IT王子 更新时间:2023-10-29 07:55:26 53 4
gpt4 key购买 nike

干杯,

在我看来,SKProductsRequest 不以任何方式处理超时或连接错误。如果成功,它要么在其委托(delegate)上调用 -(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response,要么不调用。

我想在检索产品时向我的用户显示某种事件指示器,或者如果无法访问应用商店则可能弹出警报。由于(在失败的情况下)没有来自 SKProductsRequest 的反馈,我想知道我应该将那个反馈的呈现与哪个事件相关联——而不是等待任意时间。

因此,问题是:是否有一个已知的时间量,在该时间量之后可以安全地假设请求失败?或者有什么方法可以检查我刚刚没看到的待处理请求的状态?

最佳答案

每当 SKRequest 失败(包括 SKProductRequest)时,我都会在我的项目中运行它:

- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
alert = [[UIAlertView alloc] initWithTitle:@"In-App Store unavailable" message:@"The In-App Store is currently unavailable, please try again later." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

[alert show];
}

工作愉快。当然,您可以在括号内放置任何内容来替换我的警报,但这对用户来说效果很好。

希望对你有用。

注意:这是在 SKRequestDelegate 中而不是在 SKProductsRequestDelegate 中,这有点令人困惑。 SKRequestDelegate 用于购买和产品请求。使用 request.delegate 的委托(delegate)集可以实现两者的方法。

关于ios - SKProductsRequest - 如何处理超时/连接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541213/

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