ios - 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(个人资料 -> 高级会员 -> 促销代码)
解决方案
您对促销代码的工作方式略有误解,老实说,这对 Apple 来说有点令人困惑。
presentCodeRedemptionSheet
仅用于兑换与自动续订订阅相关的促销代码。其他 IAP 类型的促销代码可通过 App Store 应用程序兑换。由于您的 IAP 是非消耗品,因此这适用于您的应用。
我能够使用以下过程兑换您提供的代码:
- 在 App Store 应用程序中访问我的帐户(点击右上角的我的图片)
- 选择“兑换礼品卡或代码”
- 粘贴代码
- 打开您的应用程序并收到“感谢啤酒”消息(因为兑换只是作为购买呈现给您的支付队列观察者)。
- 但是,您的代码似乎确实存在问题,因为我无法更改我的个人资料图片并且我收到一个错误,我需要成为高级用户。
- 我尝试直接购买升级,并收到 Apple 的消息说它是免费的,因为我已经拥有它;但我仍然是骆马:(
您可以从 UI 中删除“促销代码”按钮;它不适用于您的情况。
推荐阅读
- c# - 为什么添加请求参数时我的 Request.BodyReader 为空(ASP.NET Core 3.0)
- c# - DataSet 不支持 linq 上的 System.Nullable<> 错误
- java - 将多边形分割成多个部分
- javascript - 通过 ng-show 和 ng-model 检查复选框时如何隐藏按钮
- linux - 删除列表中早于文件纪元日期的文件
- python - 如何从存储槽中获取功能
- javascript - NodeJS 是否总是/自动异步运行代码?
- sql - 如何使用 Postgressql 在循环中从其他表中插入带有 id 的新行
- karate - 循环遍历对象数组以获取特征
- mongodb - Pymongo3.6 check_keys 没有做它的工作