 
         NSNotificationCenter.defaultCenter().addObserver(
             self,
-            selector: "onResume",
+            selector: #selector(BackgroundLocationServices.onResume),
             name: UIApplicationWillEnterForegroundNotification,
             object: nil);
 
         NSNotificationCenter.defaultCenter().addObserver(
             self,
-            selector: "onSuspend",
+            selector: #selector(BackgroundLocationServices.onSuspend),
             name: UIApplicationDidEnterBackgroundNotification,
             object: nil);
 
         NSNotificationCenter.defaultCenter().addObserver(
             self,
-            selector: "willResign",
+            selector: #selector(BackgroundLocationServices.willResign),
             name: UIApplicationWillResignActiveNotification,
             object: nil);
     }

        if(app.respondsToSelector("endBackgroundTask")) {
            let count = self._bgTaskList.count;

            for var i = 0; i < count; i++ {
                let bgTaskId = self._bgTaskList[0] as Int;
                log("Ending Background Task  with ID \(bgTaskId)");
                app.endBackgroundTask(bgTaskId);


        taskManager.beginNewBackgroundTask();

        locationTimer = NSTimer.scheduledTimerWithTimeInterval(interval, target: self, selector: #selector(LocationManager.restartUpdates), userInfo: nil, repeats: false);

        if(stopUpdateTimer != nil) {
            stopUpdateTimer.invalidate();
            stopUpdateTimer = nil;
        }

        stopUpdateTimer = NSTimer.scheduledTimerWithTimeInterval(syncSeconds, target: self, selector: #selector(LocationManager.syncAfterXSeconds), userInfo: nil, repeats: false);
    }

    func restartUpdates() {
