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

- Gmail:
-
配置测试设备 (iOS 12+)
从 iOS 12 开始,您不再需要注销 iTunes 帐户以测试购买。
在您的 iOS 设备上:
- 打开 设置
- 点击 应用商店
- 滚动到底部
- 点击 sandbox账户
- 使用sandbox测试账户登录
-
配置Xcode项目
确保您的Xcode项目具有:
Bundle Identifier
- 必须与开发者中心中的标识符匹配
- 必须与App Store Connect中的标识符匹配
In-App购买能力
- 在Xcode中选择您的项目
- 前往 签名与功能
- 点击 + 功能
- 添加 内购
-
创建内购产品
在 App Store Connect 中,导航到您的应用并创建您的内购产品(订阅、消耗性产品等)。
产品必须至少处于“准备提交”状态才能进行沙盒测试。
-
测试您的实现
构建并在测试设备上运行您的应用。当您尝试购买时,您应该看到:
[环境:沙盒]
本确认表明您处于沙盒环境中,且不会被收取实时货币。
重要说明
名为“重要说明”的部分沙盒环境特征
名为“沙盒环境特征”的部分- 无实时收费所有购买均在沙盒模式下免费
- 加速订阅订阅周期缩短以便快速测试
- 1周订阅=3分钟
- 1个月订阅=5分钟
- 2个月订阅=10分钟
- 3 个月订阅 = 15 分钟
- 6 个月订阅 = 30 分钟
- 1 年订阅 = 1 小时
- 自动续订限制:sandbox 中的订阅将自动续订至 6 次
- 立即取消:取消的订阅将立即过期
沙盒账户管理
创建多个用于不同场景的测试账户- 仅在测试设备上使用测试账户
- 不要使用个人 Apple ID 进行沙盒测试
- __CAPGO_KEEP_0__
- 测试帐户可以无论地域购买任何产品
使用沙盒测试
使用沙盒测试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);验证
验证当正确配置时,您应该观察到:
- 沙盒标签 在购买时:‘[环境:沙盒]’
- 产品加载 成功
- 购买完成 没有实际收费
- 收据验证 正确
- 订阅自动续期 自动续期(加速速度)
故障排除
故障排除产品未加载:
- 验证 bundle identifier 与 App Store Connect 匹配
- 检查协议是否已签署和通过
- 确保产品至少达到“准备提交”状态
- 创建产品后等待 2-3 小时
无法连接到iTunes商店:
- 确认sandbox账户配置正确
- 检查设备是否连接到互联网
- 尝试注销并重新登录sandbox账户
- 重启应用
购买失败:
- 检查Xcode控制台中的错误消息
- 确认In-App购买功能已启用
- 确保sandbox账户邮箱不是真实Apple ID
- 尝试创建新的sandbox测试账户
收据验证错误:
- 在测试中使用sandbox收据验证端点
- 生产环境端点:
https://buy.itunes.apple.com/verifyReceipt - 沙盒环境端点:
https://sandbox.itunes.apple.com/verifyReceipt - 原生购买插件会自动处理
订阅时长错误:
- 请记住,沙盒环境中的订阅会被加速
- 使用上面的转换表来获取预期时长
- 在沙盒环境中,订阅最多会自动续费 6 次
“This Apple ID has not yet been used in the iTunes Store”:
- 这是新建的沙盒账户的正常情况
- 继续购买以激活账户
- 只会在首次使用时发生
最佳实践
最佳实践- 创建多个测试账号 用于不同测试场景
- 测试所有订阅时长 以验证行为
- 测试取消和续订 流程
- 验证收据验证 功能正确
- 测试恢复购买 功能
- 检查订阅升级/降级 行为
- 测试网络条件差
生产环境 vs. 沙盒环境
生产环境 vs. 沙盒环境| 功能 | 沙盒环境 | 生产环境 |
|---|---|---|
| 实时收费 | 否 | 是 |
| 订阅时长 | 加速 | 正常 |
| 自动续费限制 | 6 次 | 无限制 |
| 取消效果 | 立即 | 期限结束 |
| 收据端点 | 沙盒 URL | 生产 URL |
| 测试账户仅 | 是 | 不 |
额外资源
标题:额外资源更多详细信息,请参阅 官方苹果StoreKit文档 关于沙盒测试的更多信息。
从配置iOS沙盒测试继续
标题:从配置iOS沙盒测试继续如果您正在使用 配置iOS沙盒测试 来规划商店批准和分发,连接它到 使用@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的原生能力