You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Xcode中StoreKit订阅测试对话框仅含取消按钮,如何完成测试购买?

macOS应用内订阅测试购买异常解决方案
  • 检查测试环境配置

    • 用沙箱测试账号登录Mac的App Store:打开系统设置→App Store→点击当前登录账号→切换到沙箱测试账号(无账号需在App Store Connect创建)。
    • 确认Xcode项目的签名与功能:打开项目设置→目标→签名与功能→确保已添加「In-App Purchase」功能,且团队选择正确的开发者账号。
  • 验证产品ID与后台配置

    • 核对代码中的product_id与App Store Connect内创建的订阅产品ID完全一致(注意大小写、特殊字符)。
    • 确认订阅产品在App Store Connect中已开启沙箱测试:进入App Store Connect→你的应用→功能→内购项目→找到对应订阅,状态需为「准备提交」或「已批准」(沙箱测试无需正式上架)。
  • 适配Xcode 16.1的操作

    • 重启Xcode和Mac,清除项目Derived Data:Xcode→设置→Locations→点击Derived Data旁的箭头,删除对应项目的文件夹。
    • 确保Mac系统版本为Sonoma 14.4及以上,与Xcode 16.1兼容。
  • 补充代码错误排查逻辑
    原触发代码没问题,但可以补充购买结果处理,方便定位错误:

    switch result {
    case .success(let verificationResult):
        switch verificationResult {
        case .unverified(let transaction, let error):
            print("交易验证失败: \(error.localizedDescription)")
            await transaction.finish()
        case .verified(let transaction):
            await transaction.finish()
            print("购买成功")
        }
    case .userCancelled:
        print("用户取消购买")
    case .pending:
        print("购买待处理")
    default:
        break
    }
    

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

火山引擎 最新活动