79

我正在努力将应用内购买添加到我的应用中。

我能够接收productsRequest:didReceiveResponse方法,并接收产品数组。

当我将SKPayment添加到SKPaymentQueue时,我的问题就出现了。在我将产品添加到队列后,在该paymentQueue:updatedTransactions方法中,交易始终具有状态SKPaymentTransactionStateFailed

我 NSLog 了“transaction.error”,这就是它返回的内容:Error Domain=SKErrorDomain Code=0 UserInfo=0x165000“无法连接到 iTunes Store”

我已在“设置”应用程序中退出商店,但尝试在我的应用程序中购买产品后,它从未要求我使用我的测试帐户登录。它只是因上述错误而失败。

4

26 回答 26

50

我收到SKPaymentTransactionStateFailed错误代码 0“无法连接到 iTunes Store ”,感谢thomax 的回答,我的问题得到了解决。结果你必须在 Targets->Summary 下输入一个内部版本号

在我偶然发现这个解决方案之前,我花了过去 24 小时重置我的手机,使用 iTunes 连接,并做了我能想到的所有事情。

SKPaymentTransactionStateFailed 代码 0 无法连接到 iTunes Store

SKPaymentTransactionStateFailed 代码 0 无法连接到 iTunes Store

于 2012-10-27T11:44:13.063 回答
25

我假设您已经完成了标准的健全性检查:仔细检查您的代码、确认您的产品 ID、将您的代码与应用内购买编程指南进行比较等。

这可能很荒谬,但是——如果你确定你的代码是正确的——对你的 iPod 进行硬重置(完全擦除)(设置 => 常规 => 重置 => 删除所有内容和设置)。我为这个确切的问题困惑了几个小时——结果证明我的代码是正确的,硬重置是解决方案。

于 2010-03-15T06:58:44.123 回答
21

我遇到了同样的错误,但系统提示我输入我的测试用户帐户。还有一个弹出窗口说“发生了未知错误”。事实证明,当我创建我的测试用户帐户并退出设置 - > 商店时,我决定使用我的测试用户帐户登录,这提示我提供包括账单在内的大量信息,这破坏了我的测试用户帐户. 当我创建一个新的测试用户帐户并仅在应用内购买测试期间提示登录时,一切正常。

于 2010-09-16T23:07:31.853 回答
17

如果您在应用程序内进行沙盒购买但使用您的普通 Apple 帐户登录,则可能会出现此错误(即“错误!无法连接到 iTunes Store”)。

如果我在进行任何应用内购买之前退出我的 Apple 帐户,我发现这有助于避免任何混淆。然后在“登录”对话框中选择“使用现有 Apple ID”选项并输入您的测试用户详细信息。

请记住,这将在您的设置中进行设置,因此您需要在完成应用内购买后退出。

此外,使用不同的 Apple ID 会重置各种与 iTunes 相关的设置,例如 iTunes Match。

于 2012-10-17T09:47:32.067 回答
14

您可以检查以下链接是否正常工作或超时:

https://sandbox.itunes.apple.com/verifyReceipt

或者,检查沙盒是否正常工作的一种不科学但非常可靠的方法是询问:

https://devforums.apple.com/community/ios/connected/purchase

如果沙盒关闭,可能会有人在谈论它,就像现在(2012 年 1 月 18 日,UTC 时间下午 6:40)。

于 2012-01-18T18:46:34.070 回答
7

我也面临同样的错误。我发现错误只出现在模拟器上,当我切换到设备调试时,错误没有出现。

于 2013-10-04T06:46:20.777 回答
5

只需在设置中从您的 AppStore 帐户注销...

为我解决了这个问题,因为我的设备是使用我的常规 Apple ID 登录的,并且因为沙盒上的购买始终使用测试用户 ID 完成,所以设备试图将我的常规 Apple Store ID 发送到“测试”App Store,结果关于此“无法连接到 iTunes Store”错误。

这是我在设备上看到的最常见的原因。

于 2014-02-22T14:17:12.747 回答
4

遇到同样的问题,我重置了我的设备,交叉验证了标识符,重新安装了应用程序。还认为问题是,因为我更改了产品的参考和描述。实际上,我觉得这是因为我的测试用户被锁定为多个使用同一帐户的人,并且密码验证可能多次失败。所以我重新创建了另一个测试用户,应用内购买又恢复了工作。希望这可以帮助。我完全被这个错误难住了。

于 2011-08-23T10:52:08.393 回答
4

确保您的 BundleID 匹配。那是我的问题。

于 2011-09-16T07:30:50.210 回答
4

即使是完全还原也没有为我解决这个问题。

在调用addPayment自动​​更新产品标识符后,大约一秒钟后,我收到了来自 StoreKit 的“SKErrorDomain Code=0”错误。从来没有提示我(正如Apple 的文档所建议的那样)输入 iTunes Store 用户名和密码。交易根本失败。

为了解决这个问题,我不得不在 iTunes Connect 中添加一个假的“消耗品”产品,并addPayment使用假消耗品的产品标识符进行调用。这导致 iTunes Store 对话框出现。然后,我使用在 iTunes Connect 中创建的测试帐户登录。这成功了:我的应用程序被通知消耗品已被购买。

完成此操作后,我可以addPayment使用我的自动更新产品标识符打电话并正常购买订阅。

于 2011-12-08T21:38:53.963 回答
4

在测试这些东西时,请确保您使用的是从 itunesconnect 创建的沙盒用户帐户,而不是您个人帐户的实际 Apple id。

于 2014-05-21T18:17:55.847 回答
3

我认为值得一提的是,DonnaLea 仅在提示付款时登录的解决方案也适用于 Unity 和 Prime31 的 StoreKit 插件的相同问题。尝试通过您用于注销的相同设置菜单登录将提示输入各种帐单\地址详细信息,这似乎会永久“破坏”该测试帐户。

于 2012-07-25T19:38:32.490 回答
1

当我致力于添加应用内购买时,我发现自己处于这种情况,并且第一次没有完全正确地做到这一点。在我的情况下,我在服务器端 PHP 中遇到了一个错误,因此我认为我没有一直到“finishTransaction:”。即使我解决了问题(我将程序放在单独的设备上并成功购买),我仍然不断收到“您已经购买了这个,点击下载”,然后是“无法连接到 iTunes Store”。

我终于通过从 Springboard(不是 XCode)启动游戏来停止这样做。它立即成功处理了交易并停止提示我重新下载。

于 2012-09-17T16:37:54.310 回答
1

这类似于上面接受的答案。使用 IAP 沙盒帐户登录后尝试在手机上登录我的 iTunes 帐户时,我开始收到“无法连接到 iTunes 商店”错误。

为了解决这个问题,我可以做一个重置所有设置而不是删除所有内容和设置(设置=>常规=>重置=>重置所有设置)。绝对比丢失并重新安装设备上的所有内容要好。

于 2013-04-29T05:53:14.217 回答
1

我遇到了同样的问题,首先我没有创建测试帐户,所以我通过从这个链接获得帮助来创建 https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ SettingUpUserAccounts.html#//apple_ref/doc/uid/TP40011225-CH25-SW10

然后,您需要在设备上退出当前帐户。并购买购买它会要求用户帐户,然后输入测试帐户。

于 2014-05-18T19:42:42.147 回答
0

我有同样的问题。我之前创建了一个测试用户帐户,并退出了 iTunes 商店,希望在我进行应用内购买时提示我登录我的测试用户帐户。相反,我收到了无法连接到 iTunes 商店的消息。当我使用真实的 iTunes 用户名/密码登录并尝试我的测试应用程序时,它运行良好。然后我再次退出 iTunes 商店,我的应用程序运行良好,提示我输入我的 id/pw

于 2011-07-08T04:03:07.560 回答
0

我有同样的错误,但问题并不完全相同。也许对某人有用:

我在我的应用程序结构中插入了一个外部文件。我这样做的原因是因为在生产中,我从服务器插入这个文件,但在开发中,我认为使用名为 iExplorer 的应用程序来粘贴这个文件会更快。我已经这样做了,这是过去,我没有这个问题。但是在最近几天,如果我直接使用 iExplorer 粘贴此文件,我的应用程序会返回错误:“无法连接到 iTunes Store”。(西班牙语:“没有 puede conectarse a iTunes Store”)。

我认为这是因为这次我将文件插入到 .app 文件夹中。所以这让我觉得,如果你以任何方式修改你的 .app 文件夹,Codesignature 就会中断,并且与 iTunes Store 的链接会直接停止工作。

于 2012-06-08T10:21:36.603 回答
0

对我来说,通过上传二进制文件解决了这个问题。由于这个页面没有给出这个答案,这似乎是谷歌的热门话题之一,我想我会添加它。

于 2012-07-23T03:03:43.450 回答
0

想我应该分享我最近遇到的同样问题:

几天前我遇到了同样的问题,它从一天到另一天停止工作。与我的测试用户进行身份验证后,我收到以下错误:Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"

我没有对代码进行任何更改,我们想不出任何其他可能引发问题的 iTunes 帐户或 IAP 产品更改。唯一可能相关的是添加了更多的 iTunes 测试用户(尽管我之前添加了大约 15 个帐户而没有问题)。我在不同的设备和模拟器上对其进行了测试。

我浏览了所有可用的清单和所有可能的解决方案(以及上面提到的所有内容),但没有任何成功。最后我想我不妨在整个周末休息一下,因为我正在画空白。奇怪的是(也是有史以来第一次),实际上什么都不做!我没有更改任何代码,我们的 iTunes 帐户或应用程序也没有任何更改。

我能想到的唯一原因是:

  1. 苹果这边出了点问题。
  2. 应用程序、证书或其他一些基于时间的因素导致了问题。
  3. 一个妖精偷偷溜进我的办公室,解决了这个问题。
于 2013-04-09T07:28:15.260 回答
0

检查您是否在应用商店中登录了您的个人 iTunes 帐户。如果您是,您将收到此消息。即使您在应用程序中登录了您的沙盒帐户。因此,要解决此问题,请在应用商店中注销您的个人帐户,然后尝试购买您的应用内商品,然后使用您的沙盒帐户。这解决了我的问题。

于 2013-12-22T09:46:07.590 回答
0

好吧,像往常一样,我“尝试了所有可用的解决方案,但没有帮助”:) 所以,这是我对这个无限收集的绊脚石的意见:

如果应用程序当前未出售(出于任何原因),则会发生此错误。

于 2014-01-22T15:01:57.340 回答
0

我遇到了同样的错误,当我在测试环境中调用SKProductsRequest'start方法时,它运行了 - (void)request:(SKRequest *)request didFailWithError:(NSError *)error

当我调用我的生产环境时,它是正确的并运行了 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

尽快关闭charles或任何http代理软件!尽快关闭charles或任何http代理软件!尽快关闭charles或任何http代理软件!

你懂的~

于 2017-05-18T02:16:06.427 回答
0

我遇到了同样的问题,但我通过以下模式解决了:
-我在 iOS 8.4 上使用 iPhone 5S 模拟器(这是最重要的。Apple Store 连接在 iOS 11 模拟器上不起作用)
- 在模拟器上我打开了以下设置:设置/开发人员/允许 HTTP 服务(这是用于互联网连接)
- 我暂时关闭了 Avast 防病毒 Web Shield(这也是用于互联网连接)

于 2017-10-01T12:39:11.547 回答
0

应用内购买常见问题解答包含以下信息:

无法连接到 iTunes Store

“无法连接到 iTunes Store”问题可能是由于以下一种或多种原因造成的:

  • 沙盒可能无法访问。
  • 您的应用没有捆绑版本 (CFBundleVersion)。有关详细信息,请参阅设置版本号和构建字符串。
  • 您的应用在模拟器中运行,不支持应用内购买。
  • 您正在尝试购买无法出售的产品。请参阅查询 App Store 以获取产品信息,然后再呈现应用的商店 UI 以获取更多信息。

就我而言,发生错误是因为我使用的是模拟器。

甚至在In-App Purchase Programming Guide中说使用开发 iOS 设备有一个建议的测试步骤

于 2018-02-01T02:05:37.163 回答
0

作为Apple的文档:

无法连接到 iTunes Store “无法连接到 iTunes Store”问题可能是由以下一种或多种原因引起的:

  1. 沙盒可能无法访问。
  2. 您的应用没有捆绑版本 (CFBundleVersion)。有关详细信息,请参阅设置版本号和构建字符串。
  3. 您的应用在模拟器中运行,不支持应用内购买。
  4. 您正在尝试购买无法出售的产品。请参阅查询 App Store 以获取产品信息,然后再呈现应用的商店 UI 以获取更多信息。

https://developer.apple.com/library/content/technotes/tn2413/_index.html

于 2018-03-21T11:09:48.027 回答
0

我已经尽我所能来处理这个问题。

真实设备不是模拟器。

新注册的沙盒测试账户(不填写额外信息使其成为正式的 Apple ID)

注销任何相关帐户。(iCould,App Store,也许是其他应用程序的沙盒测试帐户)

在itunesconnect网站上填写所有税收和协议

甚至恢复出厂设置 LOL ...

总是返回 SKErrorDomain 代码=0

“无法连接到 iTunes Store”</p>

...

经过3天的努力,我的案例终于得到解决:

最后我找到了钥匙。如果您的设备的iOS是iOS13.4.x,请尝试使用另一台设备测试iAP !!!我将这个“坏”设备的操作系统版本升级到iOS14.0.1,iAP就像一个魅力。

于 2020-10-19T13:33:00.990 回答