首页 > 解决方案 > Swift 显示应用内购买的促销代码视图没有做任何事情

问题描述

我尝试为促销代码添加一个功能,这样我就可以免费为一些用户提供一些东西。

我在App Store Connect中创建了一个促销代码,这是我打开的功能PromoCodeView

@objc func promoCodeButtonTapped() {
    let paymentQueue = SKPaymentQueue.default()
    if #available(iOS 14.0, *) {
        paymentQueue.presentCodeRedemptionSheet()
    }
}

视图正确呈现。但是我不能在那里做任何事情。我可以输入代码或取消,但我无法确认或任何事情。我在这里想念什么?我在实时版本上运行它。我知道我无法在开发中对其进行测试。

该应用程序已上线!如果你想自己测试:

https://apps.apple.com/de/app/wishlists-einfach-w%C3%BCnschen/id1503912334

为应用内购买生成的促销代码:

HE9T64F74JHT

如果有人可以使它工作,他可以​​使用此代码免费获得我的应用程序的高级版:D(个人资料 -> 高级会员 -> 促销代码)

在此处输入图像描述

标签: iosswiftin-app-purchasepromotion-code

解决方案


您对促销代码的工作方式略有误解,老实说,这对 Apple 来说有点令人困惑。

presentCodeRedemptionSheet仅用于兑换与自动续订订阅相关的促销代码。其他 IAP 类型的促销代码可通过 App Store 应用程序兑换。由于您的 IAP 是非消耗品,因此这适用于您的应用。

我能够使用以下过程兑换您提供的代码:

  1. 在 App Store 应用程序中访问我的帐户(点击右上角的我的图片)
  2. 选择“兑换礼品卡或代码”
  3. 粘贴代码
  4. 打开您的应用程序并收到“感谢啤酒”消息(因为兑换只是作为购买呈现给您的支付队列观察者)。
  5. 但是,您的代码似乎确实存在问题,因为我无法更改我的个人资料图片并且我收到一个错误,我需要成为高级用户。
  6. 我尝试直接购买升级,并收到 Apple 的消息说它是免费的,因为我已经拥有它;但我仍然是骆马:(

您可以从 UI 中删除“促销代码”按钮;它不适用于您的情况。


推荐阅读