         }
     }
 }
+
+/**
+ Creates a selector from given string as to mitigate Xcode warnings.
+ - parameter selector: String from which a selector should be created.
+ */
+private func selectorForString(selector: String) -> Selector {
+    return Selector(selector)
+}

    
    @objc private func pushReview_application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, withResponseInfo responseInfo: [NSObject : AnyObject], completionHandler: () -> Void) {
        var shouldCallCompletionHandler = true
        if respondsToSelector(Selector("pushReview_application:handleActionWithIdentifier:forLocalNotification:withResponseInfo:completionHandler:")) {
            pushReview_application(application, handleActionWithIdentifier: identifier, forLocalNotification: notification, withResponseInfo: responseInfo, completionHandler: completionHandler)
            shouldCallCompletionHandler = false
        }
        if respondsToSelector(Selector("application:handleActionWithIdentifier:forLocalNotification:completionHandler:")) {
            if #available(iOS 8.0, *) {
                (self as? UIApplicationDelegate)?.application?(application, handleActionWithIdentifier: identifier, forLocalNotification: notification, completionHandler: completionHandler)
                shouldCallCompletionHandler = false

        }
        
        dispatch_once(&Static.token) {
            NSNotificationCenter.defaultCenter().addObserver(sharedInstance, selector: selectorForString("didEnterBackground:"), name: UIApplicationDidEnterBackgroundNotification, object: nil)
            NSNotificationCenter.defaultCenter().addObserver(sharedInstance, selector: selectorForString("willEnterForeground:"), name: UIApplicationWillEnterForegroundNotification, object: nil)
            NSNotificationCenter.defaultCenter().addObserver(sharedInstance, selector: selectorForString("didFinishLaunching:"), name: UIApplicationDidFinishLaunchingNotification, object: nil)
            swizzle(appDelegate)
        }
    }
