iOS应用内购买订阅从SKProduct获得免费试用期

iOS应用内购买订阅从SKProduct获得免费试用期,第1张

概述我正在通过订阅进行应用内购买. 在 swift中,您可以从SKProduct获得价格和价格区域设置,如下所示: weeklyProduct.price.doubleValue weeklyProduct.priceLocale.currencySymbol 其中weeklyProduct是SKProduct. 是否有可能获得免费试用期?例如,我为该产品指定了为期两周的免费试用版.我可以从SKP 我正在通过订阅进行应用内购买.
在 swift中,您可以从SKProduct获得价格和价格区域设置,如下所示:

weeklyProduct.price.doubleValue  weeklyProduct.priceLocale.currencySymbol

其中weeklyProduct是SKProduct.

是否有可能获得免费试用期?例如,我为该产品指定了为期两周的免费试用版.我可以从SKProduct获得这个吗?

解决方法 我第一次发布答案.要温柔…

使用Eslam’s answer作为灵感,我创建了SKProduct.PeriodUnit的扩展

extension SKProduct.PeriodUnit {    func description(cAPItalizefirstLetter: Bool = false,numberOfUnits: Int? = nil) -> String {        let period:String = {            switch self {            case .day: return "day"            case .week: return "week"            case .month: return "month"            case .year: return "year"            }        }()        var numunits = ""        var plural = ""        if let numberOfUnits = numberOfUnits {            numunits = "\(numberOfUnits) " // Add space for formatting            plural = numberOfUnits > 1 ? "s" : ""        }        return "\(numunits)\(cAPItalizefirstLetter ? period.cAPItalized : period)\(plural)"    }}

使用:

if #available(iOS 11.2,*),let period = prod?.introductoryPrice?.subscriptionPeriod{    let desc = period.unit.description(cAPItalizefirstLetter: true,numberOfUnits: period.numberOfUnits)} else {    // Fallback}

这将创建一个格式良好的字符串(例如1天,1周,2个月,2年)

总结

以上是内存溢出为你收集整理的iOS应用内购买订阅从SKProduct获得免费试用期全部内容,希望文章能够帮你解决iOS应用内购买订阅从SKProduct获得免费试用期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存