Peter Pik Peter Pik - 4 months ago 23
Swift Question

Detect when "back to app" is pressed

I've created a function which is suppose to handle the permission with location, so that the app will close if it does not have permission to location. However when you press open settings and press "back to app" in the status bar the

determeinePermission
method is not being executed again. I've tried to add it to
viewDidLoad
,
viewDidAppear
and
viewWillAppear
. what can I do?

func determinePermission() {
switch CLLocationManager.authorizationStatus() {

case .Authorized:
if CLLocationManager.locationServicesEnabled() {
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
manager.startUpdatingLocation()
}


case .NotDetermined:
manager.requestWhenInUseAuthorization()
case .AuthorizedWhenInUse, .Restricted, .Denied:
let alertController = UIAlertController(
title: "Background Location Access Disabled",
message: "In order to be notified about adorable kittens near you, please open this app's settings and set location access to 'Always'.",
preferredStyle: .Alert)

let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in
exit(0)
}
alertController.addAction(cancelAction)

let openAction = UIAlertAction(title: "Open Settings", style: .Default) { (action) in
if let url = NSURL(string:UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(url)
}
}
alertController.addAction(openAction)

self.presentViewController(alertController, animated: true, completion: nil)
}
}

Answer

Try adding it to UIApplicationDelegate.applicationDidBecomeActive.

Comments