-
发现问题
订阅周期在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
网友评论