一、什么是 StoreKit 配置文件
StoreKit 配置文件(.storekit)是 Apple 提供的本地测试环境配置文件,用于在 Xcode 中模拟 App Store 内购行为,无需连接真实的 App Store 服务器。
支持的产品类型
| 类型 | 说明 |
|---|---|
| Consumable | 消耗型,如游戏币 |
| Non-Consumable | 非消耗型,如解锁功能 |
| Auto-Renewable Subscription | 自动续期订阅 |
| Non-Renewing Subscription | 非自动续期订阅 |
创建方式
arduino
Xcode → File → New → File → StoreKit Configuration File
Edit Scheme → Run → Options → StoreKit Configuration(指定文件)
二、本地配置 vs 沙盒测试
| 对比项 | StoreKit 配置(本地) | 沙盒测试(Sandbox) |
|---|---|---|
| 需要网络 | 否 | 是 |
| 需要 App Store Connect 配置 | 否 | 是 |
| 速度 | 更快 | 较慢 |
| 适合阶段 | 开发早期 | 上线前验证 |
三、清除本地购买记录(重置初始态)
方法一:Xcode 菜单(推荐)
css
Debug → StoreKit → Clear Purchased Products
清除后重新运行 App 即可,无需重启模拟器。
方法二:重置整个模拟器
css
Xcode → Window → Devices and Simulators
→ 选中模拟器 → Erase All Content and Settings
方法三:代码同步(仅供参考)
csharp
#if DEBUG
try await AppStore.sync()
#endif
四、正式上线后的工作原理
.storekit 配置文件只在开发阶段生效,打包上线后自动忽略。
markdown
用户点击购买
↓
StoreKit 框架(代码不变)
↓
请求发往 Apple 生产服务器
↓
Apple 处理支付,返回 Transaction
↓
App 验证收据 → 解锁内容
三种环境对比
| 环境 | 数据来源 | 购买记录存储 |
|---|---|---|
| 本地开发 | StoreKit 配置文件(.storekit) | 本地模拟器沙盒 |
| 沙盒测试 | App Store Connect(测试环境) | Apple 服务器(沙盒) |
| 正式上线 | App Store Connect(生产环境) | Apple 服务器(生产) |
关键点
.storekit文件是"假数据源",上线后真实数据全部走 Apple 服务器- StoreKit 是框架(API) ,在三种环境下代码本身不变,变的是背后连接的服务器
- 用户购买记录永久保存在 Apple 账户中,
restore purchases从 Apple 服务器拉取 - 上线后需要对 Apple 服务器签发的收据进行验证(客户端或服务端)