突然,在沙箱中,已经有效的 IAP 的应用内购买失败并显示错误代码:
<SKPaymentQueue: 0x283f14fd0>: Payment completed with error:
Error Domain=ASDServerErrorDomain Code=5002 "An unknown error has occurred"
UserInfo={NSLocalizedDescription=An unknown error has occurred}
Console.app 日志显示:
UserInfo={AMSURL=https://sandbox.itunes.apple.com/WebObjects/MZFinance.woa/wa/inAppBuy?guid=1fd5f870740861ead0ea8c82542657a65d3aad90, AMSServerErrorCode=5002, NSLocalizedFailureReason=An unknown error has occurred, AMSServerAllowed=false, NSLocalizedDescription=Server Error, AMSStatusCode=200, AMSServerPayload={
"cancel-purchase-batch" = 1;
customerMessage = "An unknown error has occurred";
failureType = 5002;
"m-allowed" = 0;
pings = (
);
}}
我正在使用真实设备(使用 iOS 12、iOS 14.4、iOS 14.5(beta 7))...回答这个类似的问题。
我正在部署 Xcode 12.4 / Xcode 12.5 (beta 3)...回答这个类似的问题。
我的代码没有更改,也没有更改应用内购买。
通过 TestFlight 进行测试时也会出现相同的错误 当我连接到区域为“美国”的沙盒帐户并通过美国使用 VPN 时,不会发生错误。
错误发生在以下组合中:
- 环境:沙盒
- 具有 AppStore 国家美国和其他国家的各种 Apple ID,但使用欧洲 IP 登录
- Xcode 部署和 TestFlight
- iOS 12、14.4、14.5
- iPhone 6、7、X
- 当前正在生产的相同版本
- 曾经工作过的相同代码
- 仅具有两个自动续订订阅(自 9 个月以来一直在生产)
在以下每种情况下都不会出现该错误:
- 环境:生产
- 仅出于测试目的使用新的自动续订 IAP 时
- 使用具有美国国家和美国 IP 的 Apple-ID 登录时
这个错误是什么意思?我在哪里可以找到这方面的信息?如何解决这个问题?
任何帮助表示赞赏:)
更新
该错误不再发生。再一次,我这边没有任何变化。我与 Apple 支持人员取得了联系,但他们无法向我解释发生了什么 - 可能也是因为它在美国进行测试时有效。
由于我的两个问题都没有得到回答,我将保留这个问题。也许它可以帮助遇到类似问题的人。