type
status
date
slug
summary
tags
category
icon
password
在开发阶段测试会员购买功能,你有以下几种方法:
🎯 方法一:使用 StoreKit Configuration File(推荐)
这是最方便的本地测试方法,无需真实的 App Store Connect 配置。
1. 创建 StoreKit Configuration 文件
- 在 Xcode 中:
File→New→File
- 选择
StoreKit Configuration File
- 命名为
Products.storekit
- 保存到项目根目录
2. 配置产品信息
在
Products.storekit 文件中添加你的产品(根据你的代码,产品ID已定义):3. 在 Xcode 中启用
- 选择你的 Scheme:
Product→Scheme→Edit Scheme...
- 选择
Run→Options
- 在
StoreKit Configuration下拉菜单中选择Products.storekit
4. 测试购买
- 运行应用,购买流程会在本地模拟
- 可以在 Xcode 菜单栏
Debug→StoreKit→Manage Transactions查看和管理测试交易
- 可以快速测试订阅续订、过期、退款等场景
🧪 方法二:使用 Sandbox 测试账号
这个方法更接近真实环境,需要在 App Store Connect 中配置。
1. 在 App Store Connect 中配置产品
- 创建应用(如果还没创建)
- 进入
功能→App 内购买项目
- 添加三个产品,使用你代码中的产品ID:
SpeechNote.Membership.Monthly- 自动续期订阅SpeechNote.Membership.Yearly- 自动续期订阅SpeechNote.Membership.Lifetime- 非消耗型项目
2. 创建 Sandbox 测试账号
- 在 App Store Connect 中:
用户和访问→沙盒测试员
- 点击
+创建新的测试账号
- 使用一个不存在的邮箱(如
test@yourdomain.com)
- 设置密码,选择地区为中国
3. 在设备上测试
- 退出真实的 Apple ID:
设置→App Store→ 点击头像 →退出登录
- 运行应用:
- 在 Xcode 中运行应用到真机或模拟器
- 购买时登录 Sandbox 账号:
- 点击购买按钮时,系统会提示登录
- 使用刚创建的 Sandbox 测试账号登录
- 注意: 横幅会显示
[环境:沙盒]表示是测试环境
4. Sandbox 测试特点
- 免费购买:不会真实扣款
- 快速订阅周期:
- 1个月订阅 = 5分钟
- 1年订阅 = 1小时
- 自动续订测试:可以测试续订6次后自动取消
💡 方法三:临时绕过购买(仅开发测试)
如果只想测试会员功能的UI和逻辑,可以临时修改代码:
查看当前会员状态判断逻辑
根据你的代码
StoreKitManager.swift 第18-27行,会员状态判断为:临时测试方案(仅用于开发)
你可以在
UsageLimitManager.swift 中临时修改 isProUser 属性:或者使用编译标志:
然后在调试时设置:
📋 推荐的测试流程
阶段1:本地快速测试(StoreKit Configuration)
✅ 测试购买流程UI
✅ 测试会员功能解锁
✅ 测试错误处理
阶段2:Sandbox 真实测试
✅ 测试与 App Store Connect 的集成
✅ 测试订阅续订逻辑
✅ 测试恢复购买功能
阶段3:TestFlight 测试
✅ 在真实环境中测试(使用Sandbox账号)
✅ 邀请测试用户反馈
⚠️ 注意事项
- 永远不要在生产代码中硬编码会员状态为 true
- Sandbox 账号不能用于真实购买
- 测试完成后要退出 Sandbox 账号
- StoreKit Configuration 仅在模拟器/调试时生效
- 正式发布前,确保 App Store Connect 中的产品已审核通过
🎓 调试技巧
查看购买事务
重置测试状态
- 删除应用重新安装
- 或在代码中清除 UserDefaults
- 或在 Xcode:
Debug→StoreKit→Clear Purchase History
Catalog