it-swarm.cn

“无法连接到iTunes Store”应用内购买

我在测试我的应用内购买时遇到问题。我收到有效的产品标识符,但在购买时我收到了可怕的“无法连接到iTunes Store”。有趣的是恢复购买似乎有效 - iTunes登录弹出。

我有: - 检查我的应用内购买是否已售出 - 检查,重新检查我的源代码以与Apple的文档同步 - 添加适当的测试用户 - 应用ID不包含通配符 - 应用内购买链接到应用程序(应用程序本身处于开发人员拒绝状态,购买已准备好提交) - 等待 - 重新安装应用程序,清理解决方案,所有伏都教的东西

82
gabzsa

确保您已退出设备上的任何生产iTunes帐户。

我在我的测试手机上收到此错误,该手机已使用我的实际iTunes帐户登录。您无法使用生产iTunes帐户测试应用程序,因此出错。我只是希望Apple提供更好的错误,以避免这种猜测......

103
stevel

应用内购买常见问题:无法连接到iTunes Store

Your app is running in the Simulator, which does not support In-App Purchase

对于在应用购买中测试,请始终使用真实设备.

43
DShah

对于新手,请确保您的应用内购买产品的状态为Ready to Submit,没有“缺少元数据”。就我而言,缺少的是订阅组的本地化。

enter image description here 

19
Dielson Sales

我一直有这个问题,我确信它是一个错误。我已经提交了Bug ID 10108270的错误报告

问题似乎是测试用户被“锁定”并且可能与尝试在已经发布的具有该帐户的应用中购买应用内购买有关。

我的解决方法是创建一个新的测试用户,但在Apple回复我之前,我无法提供任何更好的解决方案。当我收到回复时,我会更新这个答案。

8
James Webster

这个问题在2016年仍然存在。令人难以置信。这是我的解决方案:

添加内部版本号。目标>常规>身份>构建。

3
ArthurVonBabylon

这是一个与我今天面临的问题有关的旧线程。

在我的情况下,我能够在我的设备上测试应用内购买直到昨天,但它今天停止工作。事实证明,苹果推出了“付费申请修正案”供我审查并同意。一旦我同意了修正案(当然没有阅读),一切都开始了。无需创建新的测试用户或任何其他解决方法。

应用内购买可能有很多原因无法使用,但请确保您在itunesconnect上正确设置,否则您将无法测试应用内购买。

2
PicSonics

我遇到了同样的问题。对我来说,这发生在这个安全之后:

  • 在iTunes上登录英国帐户的设备上安装应用程序
  • 启动应用程序并使用美国的测试用户集
  • 显示消息说帐户仅在美国有效。关闭应用程序并自动启动iTunes
  • 再次打开您的应用并重试购买。接收产品但没有其他回调或错误。

我不知道这是否是IAP平台上的一个问题,但我希望得到一个错误/回调来在我的代码中以某种方式处理它。

要继续测试您的IAP,请尝试以下任何一项:

  1. 在“设置”区域中删除“配置文件”,删除“应用程序”并从“设置”中的“存储然后转到XCode并将签名身份更改为“不签名”然后将它们放回去(我知道它听起来如何:)但尝试)或者
  2. 硬重置设备上的所有设置(设置 - >常规...)。显然你会丢失该设备上的任何设置......
  3. 杀死设备上的iTunes应用程序(多任务菜单)并从“设置”上的“商店”注销

如果以上都不起作用,可能是IAP平台上的问题,请参阅下面的评论。

2
Juan Fran Jimenez

确保系统状态准备就绪 https://www.Apple.com/support/systemstatus/

我有一部Iphone,重启它对我有用

2
hguzman

我能够在iPhone上购买应用程序,但不能在iPad上购买(11.0.2)。我尝试了所有提到的解决方案但没有帮助。在尝试了所有其他可能性之后,最终我能够使它工作。

在iTunes Connect中创建测试帐户时,请不要验证电子邮件ID。如果已验证,iap将返回“无法连接到iTunes”错误。它看起来很奇怪,但它对我有用。在iPhone中,无论电子邮件验证如何,我都可以使用测试帐户进行购买。

1
Anish

重新使用旧版沙盒帐户时,您可能也会收到此错误:您在另一个应用程序上测试了之前的IAP(我的方案)。 Apple真的需要更新我们测试IAP的方式,我的电子邮件用完了:0

1
David Baez

当SKProductsRequest传递错误的NSSet时也会发生此错误:

错误:

let products = NSSet(objects: ["id1", "id2"])

正确:

let products = NSSet(objects: "id1", "id2")
0
Igor