文章

处理错误

处理 StoreKit 请求导致的错误。

概览

产品信息无效、付款详情无效、App Store Connect 账户问题或联网问题等原因,都有可能导致 StoreKit 请求失败。在发生错误时,请检查错误代码来查明具体问题。

确定错误的原因

在处理错误时,例如与 request(_:didFailWithError:)(英文) 委托方法相关的错误,务必要使用所导致的错误的(英文)代码(英文)来确定导致错误的根本原因。

对于与付款、商店产品和云服务相关的错误,如 SKError.Code(英文) 中所述,StoreKit 使用的是 SKErrorDomain(英文) 错误域。有关 StoreKit 框架问题故障诊断的更多信息,请参阅“App 内购买 FAQ (英文)”。

与联网相关的错误则是使用 NSURLErrorDomain(英文) 错误域。下表介绍了使用 StoreKit 时可能出现的一些最常见联网错误。

表 1

使用 StoreKit 时的常见 NSURLErrorDomain 错误

错误代码

描述

NSURLErrorTimedOut(英文) (-1001)

连接超时。

NSURLErrorCannotFindHost(英文) (-1003)

连接因为找不到主机而失败。

NSURLErrorCannotConnectToHost(英文) (-1004)

连接因为无法与主机建立连接而失败。

NSURLErrorNetworkConnectionLost(英文) (-1005)

连接因为网络连接丢失而失败。

NSURLErrorNotConnectedToInternet(英文) (-1009)

连接因为设备未接入互联网而失败。

NSURLErrorUserCancelledAuthentication(英文) (-1012)

连接因为用户取消了必需的身份验证而失败。

NSURLErrorSecureConnectionFailed(英文) (-1200)

安全连接因为未知原因而失败。

另请参阅

错误

struct SKError (英文)

StoreKit 错误描述、代码和域。

enum SKError.Code (英文)

StoreKit 错误的错误代码。

let SKErrorDomain (英文): String

StoreKit 错误的错误域名称。