Вы можете проверить allPurchasedProductIdentifiers NSSet<NSString *>
на объекте RCPurchaserInfo
, чтобы увидеть все идентификаторы продукта, приобретенные пользователем, независимо от срока годности.
В качестве альтернативы, если вы хотите проверить на наличие права "myKillerFeatureEntitlement" , вы можете проверить свойство purchaseDateForEntitlement
. Если activeEntitlements
равен нулю и есть дата покупки, вы можете предположить, что она была приобретена ранее, а срок ее действия истек.
func configurePurchases(purchaserInfo: PurchaserInfo?) {
if let purchaserInfo = purchaserInfo {
if purchaserInfo.activeEntitlements.contains("myKillerFeatureEntitlement") {
myButton.setTitle("Subscribed",for: .normal)
labelAutoTaxDescription.text = "You are currently subscribed. Thank you for your support."
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
if let expirationDate = purchaserInfo.expirationDate(forEntitlement: "myKillerFeatureEntitlement") {
self.labelAutoTaxDetectionPrice.text = "Expiration Date: \(dateFormatter.string(from: expirationDate))"
}
// Here is where I need check if it's a returning user so I can change the name of the button
} else if purchaserInfo.purchaseDate(forEntitlement: "myKillerFeatureEntitlement") != nil {
myButton.setTitle("Renew",for: .normal)
// other code
}
}
}
}
Обратите внимание, что разрешение могло быть разблокировано на другой платформе (Android, в Интернете и т. Д.), Поэтому кнопка на iOS может фактически не вызывать восстановление.