Search code examples
iosxcodeuikituiactivityindicatorviewuiapplication

activityIndicators and UIApplication.sharedApplication()


Calling unlock device is not working it prints "unlockCalled" a lot of times and then gives this error:

2016-03-27 14:20:45.976 xxx[1002:57886] -[UIApplication endIgnoringInteractionEvents] called without matching -beginIgnoringInteractionEvents. Ignoring.

Where am I going wrong?

var activityIndicator = UIActivityIndicatorView()

func lockDevice(){print("lockCalled")
    activityIndicator = UIActivityIndicatorView(frame: self.view.frame)
    activityIndicator.backgroundColor = UIColor(white: 1.0, alpha: 0.5)
    activityIndicator.center = self.view.center
    activityIndicator.hidesWhenStopped = true
    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
    view.addSubview(activityIndicator)
    activityIndicator.startAnimating()
    UIApplication.sharedApplication().beginIgnoringInteractionEvents()
}
func unlockDevice(){
    print("unlockCalled")
    activityIndicator.stopAnimating()
    UIApplication.sharedApplication().endIgnoringInteractionEvents()   
}

Solution

  • Thanks to @Alladinian

    dispatch_async(dispatch_get_main_queue(), { () -> Void in 
        self.unlockDevice()
    })