由 Apple 报告的错误已修复,请参阅下面接受的答案...
更新星期一 8 月 23 日 10:00 GMT
尽管苹果的错误报告尚未关闭,但它现在似乎正在工作(至少对我们中的几个人来说)OK。可能是他们已经确定了,或者修复正在测试中,当(如果)我从 Apple 听到更多消息时,我会报告。
周五更新 8 月 20 日
只是说我收到了一封来自 Apple Engineering 的电子邮件(格林威治标准时间 21:20),他们说:
“感谢您报告此问题。我们知道此问题,目前正在修复。”
所以希望很快会有一个解决方案!
[更新到下面的问题。目前肯定存在storekit 沙盒问题。我已经看到 4 或 5 个其他人报告了同样的错误,但希望有更大的样本量!如果您有一个可以在沙箱中测试的 storekit 实现,如果您可以报告它是否适合您,那将不胜感激。我已将 Apple 的一个错误记录为错误 ID#8329461,但我不确定如何加速此问题,或者它是否真的是一个普遍存在的问题。]
我有一个正在开发的 iPhone storekit 实现。所有购买的物品都是消耗品,我们建立了多个测试账户。
今天突然间,我的序列开始了;
1) 向 Apple 索取产品列表...工作正常(因此可以连接到商店)
2)购买项目 - 正常获得“确认您的应用内购买”警报
3)(点击购买)
4a) 我的代码通过 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 方法获得错误代码 2 和描述“无法连接到 iTunes 商店”的失败交易。
[[SKPaymentQueue defaultQueue] finishTransaction: transaction] 在这种情况下被调用。
4b) 用户收到警告“您已经购买但尚未下载”(从未使用此用户帐户在此设备上购买过)。
这发生在不同的设备和以前从未使用过的测试帐户上。我不知道我们的代码有任何更改。其他人可以确认 storekit 测试框架对他们正常工作吗?今天还有人有问题吗?
关于是什么导致这种奇怪的任何想法?“无法连接到 iTunes 商店”的消息似乎很奇怪,因为它显然可以用于检索产品 ID 和观察交易。
注意。我还注意到在商店中设置测试用户帐户已经改变——现在有更严格的密码要求等,所以我想知道苹果是否改变了可能导致问题的东西。
TIA罗杰
PS。在新设备上第一次尝试时,我收到“无法连接到 iTunes 商店稍后再试”的警报,但随后发生的情况是该设备认为它已经被购买,因此给出了有关再次下载的消息。