订阅周期判断问题

  • 发现问题

    订阅周期在11.2以下无法获取到,在11.2以上能获取到,但是周订阅返回的是7*day

  • 解决方法

    不能获取到的情况,根据商定好的商品id规则进行判断(大小写区分记得处理),获取到的情况下,周订阅判断周期为day且单位数为7,其余的直接返回商品周期类型

  • 相关代码
    if let subscriptionPeriod = product.subscriptionPeriod {
        if subscriptionPeriod.unit == .day && subscriptionPeriod.numberOfUnits == 7 {
            return .week
        }
        return subscriptionPeriod.unit
    } else {
        let productID = product.productIdentifier
        let lowercased_productId = productID.lowercased()
        if lowercased_productId.contains("year") {
            return .year
        } else if lowercased_productId.contains("month") {
            return .month
        } else if lowercased_productId.contains("week") {
            return .week
        } else if lowercased_productId.contains("day") {
            return .day
        }
    }
    return .day
    
  • 参考链接

https://developer.apple.com/documentation/storekit/skproductsubscriptionperiod

你可能感兴趣的:(订阅周期判断问题)