应用程序内购买错误代码0

时间:2011-12-29 08:00:07

标签: objective-c ios in-app-purchase storekit

我正在尝试解决为什么我收到“无法连接到iTunes Store”的错误代码为0。

我知道我的应用标识符很好,因为我检索应用启动时的产品信息并记录结果,我从iTunes获得正确的产品标识符和价格。当我将我的应用程序标识符更改为愚蠢的东西时,这会失败。

由于上述原因,我知道我的产品标识符也没问题(否则我不会这样做,我会仔细检查)。

我尝试通过两种不同的方式创建SKPayment来解雇购买:

第一天

SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier]; // This is deprecated in ios 5 but should work
[[SKPaymentQueue defaultQueue] addPayment:payment];

第二种方式

SKPayment *payment = [SKPayment paymentWithProduct:foundProduct];
[[SKPaymentQueue defaultQueue] addPayment:payment];

(foundProduct来自SKProductsRequest返回的SKProducts数组)

两种方式都失败,错误代码为0。

我在运行iOS 5.0.1的iPhone 4S和iOS 5的模拟器中都试过这个。

我已经阅读过难以重置的工作(2359739)这看起来很疯狂,但我继续在模拟器(iOS模拟器=&gt;重置内容和设置...)中尝试它无济于事。< / p>

我唯一能想到的就是iTunes沙盒服务器可能很糟糕......

4 个答案:

答案 0 :(得分:5)

尝试使用错误的iTunes Connect测试帐户也可能导致此错误。如果您尝试将测试帐户用于另一个团队而不是您正在测试的应用程序注册的团队,则会导致相同的错误而没有更具体的消息。

答案 1 :(得分:0)

感谢@ user1120741和@ Let's Spot它验证这是一个Apple问题,并在修补时发布。

因为Apple没有为我们提供一个简单的方法来查看这样的系统问题,所以开发人员可以在第二次猜测功能完全正常的代码。

道德:当您遇到类似问题时,请检查Twitter,SO和其他网站。如果您确定自己有正常运行的代码,那么您已经无法使用模拟器,它仍然无效,请告知其他人您的问题(Twitter,SO等),只需等待几个小时。

答案 2 :(得分:0)

这种错误(未知错误或错误= 0)是由两种主要类别的各种原因引起的。一个是测试用户帐户问题(不是同一个国家,不活动,以某种方式被Apple等阻止)另一个是

payment.productIdentifier 

由于拼写错误或任何其他原因而给出错误的错误。

答案 3 :(得分:0)

我想补充一点,如果您尝试从模拟器进行应用内购买,您还将收到错误代码为0(零)的“失败”消息。应用内购买只能通过设备成功进行测试。