Search code examples
iosobjective-cin-app-purchasein-app-subscription

IOS Auto-Renewal Subscription status can't getting


  • Currently am working with In App Purchase Auto renewal subscription.
    • Which allow user to full access of app if user subscribe the app whatever choose a plan(monthly or yearly).
      • Its working fine to get expiry date of subscription.
      • But is case of user can turn off auto renewal subscription from device setting.

Then how can we find out the status or expiry date of subscription by code.


Solution

  • There are no status if subscription is active or no. You should compare subscription expiration with current date to know if subscription active.

    For example I have this code in my project:

    func isSubscriptionActive() -> Bool
    {
        if RMStoreAppReceiptVerificator().verifyAppReceipt()
        {
            let appReceipt = RMAppReceipt.bundleReceipt()
            for object in appReceipt.inAppPurchases
            {
                if let inAppPurchase = object as? RMAppReceiptIAP
                {
                    if appReceipt.containsActiveAutoRenewableSubscriptionOfProductIdentifier(inAppPurchase.productIdentifier, forDate: NSDate())
                    {
                        return true
                    }
                }
            }
        }
        return false
    }
    

    I'm using RMStore library.