     // MARK: PRIVATE Alert View / StoreKit Delegate Methods
     
     #if os(iOS)
-    open func alertView(_ alertView: UIAlertView, didDismissWithButtonIndex buttonIndex: Int) {
-        // cancelButtonIndex is set to -1 to show the cancel button up top, but a tap on it ends up here with index 0
-        if (alertView.cancelButtonIndex == buttonIndex || 0 == buttonIndex) {
-            // they don't want to rate it
-            dontRate()
-        } else if (showsRemindButton() && 1 == buttonIndex) {
-            // remind them later
-            remindMeLater()
-        } else {
-            // they want to rate it
-            _rateApp()
-        }
-    }
     
     //Delegate call from the StoreKit view.
     open func productViewControllerDidFinish(_ viewController: SKStoreProductViewController!) {

    // MARK: Review Alert & Properties
    
    #if os(iOS)
    fileprivate var ratingAlert: UIAlertView? = nil
    fileprivate let reviewURLTemplate  = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&id=APP_ID&at=AFFILIATE_CODE&ct=AFFILIATE_CAMPAIGN_CODE&action=write-review"
    #elseif os(OSX)
    private var ratingAlert: NSAlert? = nil

            }
        } else {
            #if os(iOS)
                /* iOS 8 uses new UIAlertController API*/
                    let alertView : UIAlertController = UIAlertController(title: reviewTitle, message: reviewMessage, preferredStyle: UIAlertControllerStyle.alert)
                    alertView.addAction(UIAlertAction(title: cancelButtonTitle, style:UIAlertActionStyle.cancel, handler: {
                        (alert: UIAlertAction!) in
