配置 iOS 沙盒测试
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示。
在 iOS 上测试应用内购买需要在 App Store Connect 和测试设备上正确配置。这份指南涵盖了您需要了解的所有内容,以便开始使用沙盒测试。
前提条件
前提条件- Apple Developer Program: 每年续费的活跃会员
- 协议: 已签署的“付费应用程序协议”,并已完成银行和税务信息
- Xcode 项目: 配置了正确的包标识符和功能
Setup Process
Setup Process-
签署付费应用程序协议
在 App Store Connect 中,导航到 协议、税务和银行 并完成:
- 签署付费应用程序协议
- 添加银行信息
- 完成税务表格
等待 Apple 批准您的信息(这可能需要 24-48 小时)。
-
创建沙盒测试用户
In App Store Connect 中,前往 用户和访问 > 沙盒测试者.
点击 + 按钮创建一个新的沙盒测试者。
注意:使用一个尚未与 Apple ID 关联的电子邮件地址。您可以使用电子邮件别名:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
配置测试设备(iOS 12+)
从 iOS 12 开始,您不再需要退出 iTunes 帐户以测试购买。
在您的 iOS 设备上:
- 打开 设置
- 点击 应用商店
- 滚动到底部
- 点击 沙盒账户
- 使用您的沙盒测试账户登录
-
配置Xcode项目
确保您的 Xcode 项目具有:
包标识符
- 必须与您的开发者中心中的标识符匹配
- 必须与 App Store Connect 中的标识符匹配
内购能力
- 在 Xcode 中选择您的项目
- 转到 签名 & 能力
- 点击 + 能力
- 添加 内购
-
创建内购产品
在 App Store Connect 中,导航到您的应用程序并创建您的内购产品(订阅、消耗品等)。
产品必须至少处于“准备提交”状态才能进行沙盒测试。
-
测试您的实现
在测试设备上构建并运行您的应用程序。当您尝试购买时,您应该看到:
[环境:沙盒]
此确认表明您处于沙盒环境中,不会被实际收费。
重要注意事项
标题:重要注意事项沙盒环境特征
标题:沙盒环境特征- 无实际收费:所有购买在沙盒模式中都是免费的
- 加速订阅: 订阅周期缩短以加快测试
- 1 周订阅 = 3 分钟
- 1 个月订阅 = 5 分钟
- 2 个月订阅 = 10 分钟
- 3 个月订阅 = 15 分钟
- 6 个月订阅 = 30 分钟
- 1 年订阅 = 1 小时
- 自动续订限制: 在沙盒模式下,订阅自动续订至 6 次
- 立即取消已取消的订阅立即失效
沙盒账户管理
沙盒账户管理- 创建多个用于不同场景的测试账户
- 仅在测试设备上使用测试账户
- 不要使用个人Apple ID进行沙盒测试
- 测试账户可以无论地域都购买任何产品
使用沙盒测试
复制到剪贴板import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit not supported on this device');}
// Fetch products (automatically uses sandbox when available)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Make test purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);验证
使用沙盒测试当正确配置时,您应该观察到:
- 沙盒标签 在购买期间:“环境:沙盒”
- 产品加载 成功
- 购买完成 无实际费用
- 收据验证 正确
- 订阅自动续期 (加速速度)
产品未加载:
- 确认 App Store Connect 中的包标识符匹配
- 检查是否已签署和批准协议
- 确保产品至少处于“准备提交”状态
- 创建产品后等待 2-3 小时
“Cannot connect to iTunes Store”:
- Verify sandbox account is configured correctly
- 确认沙盒账户配置正确
- 检查设备是否连接到互联网
- 尝试注销并重新登录沙盒账户
重启应用
- 检查 Xcode 控制台以查看错误消息
- 验证 In-App 购买功能是否已启用
- 确保沙盒账户邮箱不是真实 Apple ID
- 尝试创建一个新的沙盒测试账户
收据验证错误:
- 在测试中使用沙盒收据验证端点
- 生产端点:
https://buy.itunes.apple.com/verifyReceipt - 沙盒端点:
https://sandbox.itunes.apple.com/verifyReceipt - native-purchases 插件会自动处理此问题
订阅时长错误:
- 记住,沙盒中订阅会加速
- 使用上面的转换表格来预期时长
- 订阅自动续费最大 6 次在沙盒中
“这个 Apple ID 还没有在 iTunes Store 中使用”:
- 这是新沙盒账户的正常情况
- 继续购买以激活账户
- 只发生在第一次使用
最佳实践
名为“最佳实践”的部分- 创建多个测试账户 用于不同的测试场景
- 测试所有订阅持续时间 以验证行为
- 测试取消和续费 流程
- 验证收据验证 正常工作
- 测试恢复购买 功能
- 检查订阅升级/降级 行为
- 测试网络条件差
生产环境 vs. Sandbox
标题:生产环境 vs. Sandbox| 功能 | 沙盒 | 生产环境 |
|---|---|---|
| 实时收费 | 否 | 是 |
| 订阅时长 | 加速 | 正常 |
| 自动续订限制 | 6 次 | 无限制 |
| 取消效果 | 立即 | 期末 |
| 收据端点 | 沙盒 URL | 生产 URL |
| 仅测试帐户 | 是 | 否 |
额外资源
额外资源部分更多详细信息,请参阅 官方 Apple StoreKit 文档 关于沙盒测试的更多信息。
继续从 Configure iOS Sandbox Testing
Configure iOS Sandbox Testing如果您正在使用 Configure iOS Sandbox Testing 规划商店审批和分发,连接它到 使用 @capgo/native-purchases 在使用 @capgo/native-purchases 中的本机能力中 @capgo/capacitor-in-app-review 在 @capgo/capacitor-in-app-review 中的实现细节中 使用 @capgo/capacitor-in-app-review 在使用 @capgo/capacitor-in-app-review 中的本机能力中 @capgo/capacitor-native-market 对于 @capgo/capacitor-native-market 的实现细节 使用 @capgo/capacitor-native-market 对于 @capgo/capacitor-native-market 的本地能力