Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 应用内购买错误代码0_Objective C_Ios_In App Purchase_Storekit - Fatal编程技术网

Objective c 应用内购买错误代码0

Objective c 应用内购买错误代码0,objective-c,ios,in-app-purchase,storekit,Objective C,Ios,In App Purchase,Storekit,我正在尝试解决为什么出现“无法连接到iTunes商店”的问题,错误代码为0 我知道我的应用程序标识符很好,因为我在应用程序发布时检索产品信息并记录结果,然后从iTunes获得正确的产品标识符和价格。当我将我的应用程序标识符更改为愚蠢的东西时,这会失败 我知道基于上述原因,我的产品标识符也很好(否则就不行了,我仔细检查了) 我尝试通过两种不同的方式创建SKPayment来启动购买: 第一条路 SKPayment *payment = [SKPayment paymentWithProductIde

我正在尝试解决为什么出现“无法连接到iTunes商店”的问题,错误代码为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];
第二种方式

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的iPhone4S和iOS 5的模拟器上都试过

我已经读过硬重置工作(),这看起来很疯狂,但我继续在模拟器中尝试了它(iOS模拟器=>重置内容和设置…),但没有成功


我唯一能想到的是,iTunes沙盒服务器可能不稳定…

多亏了@user1120741和@Let's point,它验证了这是苹果的问题,并在修补时发布了帖子

由于苹果公司没有为我们提供一种简单的方法来查看这样的系统问题,开发者只能对功能齐全的代码进行事后猜测


寓意:当您遇到类似问题时,请查看Twitter、SO和其他网站。如果您确定自己有正常运行的代码,那么您已经禁用了模拟器,但它仍然无法工作,请将您的问题通知其他人(Twitter、SO等),然后等待几个小时。

此错误也可能是由于尝试使用不正确的iTunes Connect测试帐户而导致的。如果您尝试为您正在测试的应用程序注册到的团队以外的其他团队使用测试帐户,则将导致相同的错误,但不会显示更具体的消息。

此类错误(未知错误或错误=0)是由两大类不同的原因造成的。一个是测试用户帐户问题(不在同一个国家,处于非活动状态,不知何故被苹果屏蔽等),另一个是

payment.productIdentifier 

当你因为打字错误或其他原因而给出错误的答案时

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

我也遇到了同样的问题。顺便说一句,storekit在模拟器中不工作。但是,您需要在设备上进行测试:该设备也不工作。我已经按照说明从手机商店注销,但仍然收到一个错误,说它无法连接到iTunes商店。但它成功地获取了我的应用程序内购买信息……因此我开始怀疑沙箱是否存在dsame问题。应用内购买和游戏中心领导板均失败。(领导委员会可以出现,但无法接受任何分数。我想他们需要在长时间的工作之后重置沙箱环境break@user1120741-StoreKit实际上可以在iOS 5模拟器中工作,现在它可以工作了,我再次尝试了它,它在模拟器中工作得非常好。你是对的。如果你有一个无效的测试帐户,则没有任何问题我会工作,不会出现有意义的错误消息。苹果认为他们不值得花时间做你应该做的事情。我正在使用我在App Store Connect中创建的测试帐户,但它仍然不工作。有什么想法吗?