Swift 显示应用内购买的促销代码视图不执行任何操作

Chr*_*ris 2 in-app-purchase ios promotion-code swift

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

我在App Store Connect中创建了一个促销代码,这是我打开以下内容的函数PromoCodeView

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

视图正确呈现。但是我在那里无能为力。我可以输入代码或取消,但无法确认或执行任何操作。我在这里缺少什么?顺便说一句,我正在实时版本上运行它。我知道我无法在开发中测试它。

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

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

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

HE9T64F74JHT

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

在此输入图像描述

Pau*_*w11 5

你对促销代码的工作原理有一点误解,说实话,苹果方面有点令人困惑。

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

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

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

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