     func applicationDidEnterBackground(application: UIApplication) {
         // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
         // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-        UIApplication.sharedApplication().setKeepAliveTimeout(600) { () -> Void in
-            NSLog("voip called...")
-            self.bgTaskID = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler({ () -> Void in
-                self.fetchNewData()
-            })
-        }
     }
 
     func applicationWillEnterForeground(application: UIApplication) {

        print("ios app sourcel url: \(sourceDescription())")
        replyHandler(["xxx":"xxx"])
        sendLocalNotif("更新城市为:\(selectedCity())", badge: -1)
    }
    
    /*

    private var session: NSURLSession?
    private var bgTaskID: UIBackgroundTaskIdentifier? = nil
    
    func registerBackgroundVOIPCallback() {
        UIApplication.sharedApplication().setKeepAliveTimeout(600) { () -> Void in
            NSLog("voip called...")
            self.bgTaskID = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler({ () -> Void in
                self.fetchNewData()
            })
        }
    }
    
    func startWCSession() {
        if (WCSession.isSupported() && wcSession == nil) {
            wcSession = WCSession.defaultSession()
