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

iOS 17中SwiftUI内购完成后StoreKit按钮变灰求助

解决iOS 17 SwiftUI内购测试后按钮变灰的问题

问题原因

沙盒测试环境会持久保存测试Apple ID的内购记录,即使卸载重装APP,服务器端的购买状态不会自动清除,因此ProductView会识别该项目已购买,按钮变为不可点击的灰色状态。

解决方案

1. 重置沙盒测试账号的购买记录

  • 登录App Store Connect,进入「用户和访问权限」→「沙盒测试员」
  • 找到当前使用的测试账号,进入详情页
  • 滚动到「重置购买记录」区域,点击「重置」按钮并确认操作
  • 在测试设备上退出当前沙盒账号,重新登录后即可再次测试购买

2. 在应用内添加恢复购买功能(辅助方案)

如果需要在测试中快速验证状态,可以在界面中添加恢复购买按钮,调用StoreKit的同步API:

// 在你的View中添加如下按钮
Button("恢复购买") {
    Task {
        do {
            let _ = try await AppStore.sync()
            // 同步完成后,ProductView会自动更新状态
        } catch {
            print("恢复购买失败:\(error.localizedDescription)")
        }
    }
}

3. 使用新的沙盒测试账号

若暂时无法重置现有账号,可在App Store Connect中创建新的沙盒测试员账号,用新账号登录测试设备即可重新进行购买测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:18:31