Flutter应用内购恢复失败(SKError -1202)求助
Flutter内购恢复失败,SKError -1202(证书无效)解决办法
问题重现
执行内购恢复代码时抛出SKError -1202,错误提示服务器证书无效,疑似连接到伪装的沙箱服务器,代码如下:
try { await _inAppPurchase.restorePurchases(); } catch (e) { if (e is SKError) { debugPrint( "SKError code: '${e.code}', userInfo: '${e.userInfo}'"); } }
对应的错误日志:
flutter: SKError code: '-1202', userInfo: '{NSLocalizedDescription: このサーバの証明書は無効です。“mzstorekit-sb.itunes.apple.com”に偽装したサーバに接続している可能性があり、機密情報が漏えいするおそれがあります。, NSUnderlyingError: {domain: kCFErrorDomainCFNetwork, userInfo: {_kCFStreamPropertySSLClientCertificateState: 0, _kCFNetworkCFStreamSSLErrorOriginalValue: -9807, kCFStreamPropertySSLPeerTrust_desc: <SecTrustRef: 0x7c8a61cd0>, _kCFStreamErrorDomainKey: 3, _kCFStreamErrorCodeKey: -9807, kCFStreamPropertySSLPeerCertificates: [<cert(0x7c9810800) s: mzstorekit.itunes.apple.com i: Apple Public EV Server RSA CA 2 - G1>, <cert(0x7c984c800) s: Apple Public EV Server RSA CA 2 - G1 i: DigiCert High Assurance EV Root CA>, <cert(0x7c9846200) s: DigiCert High Assurance EV Root CA i: DigiCert High Assurance EV Root CA>]}, code: -1202}}'
日语提示翻译:此服务器的证书无效。您可能正在连接伪装成“mzstorekit-sb.itunes.apple.com”的服务器,机密信息可能会泄露。
解决步骤
- 关闭所有代理、VPN:这类工具会干扰沙箱服务器的证书验证,切换到原生网络重试。
- 重置网络设置:iOS设备进入「设置→通用→传输或还原iPhone→还原→还原网络设置」(会清除Wi-Fi密码,提前备份);模拟器直接重置内容和设置后重启。
- 校准系统时间:确保设备/模拟器的时间、时区与实际一致,证书验证对时间偏差敏感。
- 重新登录沙箱账号:退出当前App Store沙箱账号,重启App后再次登录重试恢复操作。
- 检查根证书信任:真机测试时,进入「设置→通用→关于本机→证书信任设置」,确认DigiCert相关根证书已启用。
内容的提问来源于stack exchange,提问作者barley
相关产品推荐
相关产品推荐

