使用沙箱测试 IAP 时出现问题

问题描述 投票:0回答:1

我无法使用沙盒测试者 ID 登录(这些字段甚至没有显示在“设置”-App Store 中)。

我正在运行 Xcode 14.2 并尝试在开发人员签名的物理设备(iOS 16.1.2)上进行测试。按照 Apple 文档中的步骤(“在 Xcode 中设置 StoreKit 测试”),我已经能够使用本地 StoreKit 配置文件来运行测试。一切运作良好。接下来我想尝试使用沙盒测试。遵循相同的文档,

  • 我在 Apple Store Connect 中设置了沙盒测试器。

  • 我从 storekit 配置文件中保存了公共证书 项目。

  • 我从方案的运行中删除了本地 StoreKit 配置文件 选项(通过设置为“无”)。

  • 我将以下条件编译块添加到我的商店 经理:

     #if DEBUG
         let certificate = "StoreKitTestCertificate"
     #else
         let certificate = "AppleIncRootCertificate"
     #endif   
    

据我了解,当我在物理连接到 Mac 的设备上运行时第一次尝试进行购买时,设备的 App Store 设置中应该会出现使用 SandBox ID 登录的选项。 这并没有发生。我是不是少了一步?我犯的一个可能的错误是将(上面的)条件编译块放在错误的位置。有人可以推荐最好的地方吗?该文档说将其与我的收据验证码一起粘贴。另一个可疑的疏忽可能是我需要在 Apple Store Connect 中做的其他事情。没有把握。任何帮助表示赞赏! 附录 - 我在控制台中收到此消息:

枚举第一笔交易的未完成交易时出错 侦听器:错误域=ASDErrorDomain代码=509“没有活动帐户” UserInfo={店面国家/地区代码=美国, 客户端环境类型=沙箱,AMSServerErrorCode=0, NSLocalizedDescription=没有活动帐户}

storekit appstore-sandbox
1个回答
1
投票

我在尝试使用沙盒帐户测试我的产品时遇到了问题,我花了几个小时来排除故障并找到解决方案。以下是最终帮助我在从 Xcode 构建时使其正常工作的原因:

  1. 验证捆绑包标识符和产品标识符是否正确匹配。如果这些 ID 不匹配,订阅产品将不会显示。
  2. 确保准确填写 App Store Connect 中的所有必要信息,包括内容权利、年龄分级、协议、银行、税务和其他相关详细信息。如果配置不正确,订阅产品将不会显示。
  3. 在“设置”中,使用有效的 Apple 帐户登录 iCloud,并确保设置付款方式(如果尚未设置)。如果没有执行此步骤,我就会收到此错误。
    Error Domain=ASDErrorDomain Code=509 "No active account"
  4. 确认您的 iOS 设备运行的 iOS 版本不是太旧。就我而言,我必须使用更高版本 (16.5.1) 的不同 iOS 设备。(我必须下载最新的 Xcode...)之前使用 iOS 15.7.7 的 iOS 设备在添加付款方式时似乎有错误就我而言。

按照以下步骤,我能够成功查看应用内购买产品并使用沙盒环境进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.