首页 文章

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

提问于
浏览
75

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

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

10 回答

  • 1

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

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

  • 19

    In-App Purchase FAQ: Cannot connect to iTunes Store

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

    对于应用程序购买测试,请始终使用真实设备

  • 1

    对于新手,请确保您的应用内购买产品的状态为 Ready to Submit ,没有"missing metadata" . 就我而言,缺少的是订阅组的本地化 .

    enter image description here

  • 0

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

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

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

  • 2

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

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

  • 38

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

    • 在iTunes上登录英国帐户的设备上安装应用程序

    • 启动应用程序并使用美国的测试用户集

    • 显示消息说帐户仅在美国有效 . 关闭应用程序并自动启动iTunes

    • 再次打开您的应用并重试购买 . 接收产品但没有其他回调或错误 .

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

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

    • 删除设置区域中的配置文件,删除应用程序并从设置中的存储注销 . 然后转到XCode并将签名身份更改为"Do Not Sign"然后将它们放回去(我知道它听起来怎么样:)但是试试)或者

    • 硬重置设备上的所有设置(设置 - >常规...) . 显然你会丢失该设备上的任何设置......

    • 杀死设备上的iTunes应用程序(多任务菜单),然后从“设置”上的“商店”注销

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

  • 2

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

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

  • 3

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

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

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

  • 94

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

  • 7

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

    错误:

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

    正确:

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

相关问题