You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IAP沙盒测试遇登录异常:设置中无Sandbox测试ID入口

Sandbox测试ID登录失败&设置无对应字段问题解决指南

核心修复步骤

1. 修正证书代码的放置位置

你写的条件编译代码块必须放在收据验证的核心逻辑里,不能随便放在商店管理器初始化代码中。正确写法示例:

func verifyReceipt() {
    let certificateFileName: String
    #if DEBUG
        certificateFileName = "StoreKitTestCertificate"
    #else
        certificateFileName = "AppleIncRootCertificate"
    #endif
    // 此处编写加载证书、验证收据的具体逻辑
}

放错位置会导致Sandbox环境的证书验证不生效,系统无法触发登录流程。

2. 检查Sandbox账号的关键配置

  • 账号地区必须与设备当前Storefront地区一致(控制台报错显示地区为USA,你的测试账号需为美国区)
  • 确认账号在Apple Store Connect的「沙盒测试员」列表中处于活跃状态,且已完成邮箱验证
  • 内购项目需在Store Connect中配置完成,状态至少为「准备提交」

3. 重置设备沙盒环境

  • 先退出设备上登录的正式App Store账号(若已登录)
  • 进入「设置」-「通用」-「传输或还原iPhone」-「还原」,选择「还原网络设置」(不会删除设备数据,仅重置网络相关配置)
  • 重启设备后,打开App触发内购操作——iOS 16+中Sandbox登录是直接在App内弹窗的,无需去设置里寻找登录字段,你之前的预期存在偏差

4. 确认Xcode配置无误

  • 检查Scheme的「运行」-「选项」中,「StoreKit配置」确实设为「None」,不要残留本地配置
  • 确保当前Build Configuration为「Debug」,否则DEBUG条件编译标识不会生效

5. 针对「No active account」报错的补充处理

该报错表示沙盒环境未检测到有效账号,除上述步骤外,还可尝试:

  • 通过TestFlight安装Debug版本的App再进行测试(直接Xcode真机运行可能存在缓存问题)
  • 再次确认App使用的是开发者签名

内容的提问来源于stack exchange,提问作者Hyoryusha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:31:49