iOS NSNotificationCenter to check whether the app came from background to foreground
Have you tried UIApplicationWillEnterForegroundNotification
?
The app also posts a UIApplicationWillEnterForegroundNotification notification shortly before calling applicationWillEnterForeground:
to give interested objects a chance to respond to the transition.
Subscribe to notification:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(yourUpdateMethodGoesHere:)
name:UIApplicationWillEnterForegroundNotification
object:nil];
Implement a code, that need to be called:
- (void) yourUpdateMethodGoesHere:(NSNotification *) note {
// code
}
Don't forget to unsubscribe:
[[NSNotificationCenter defaultCenter] removeObserver:self];
Swift 4.2
NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: UIApplication.willEnterForegroundNotification
, object: nil)
Swift 3 version
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
NotificationCenter.default.addObserver(self,
selector:#selector(applicationWillEnterForeground(_:)),
name:NSNotification.Name.UIApplicationWillEnterForeground,
object: nil)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
NotificationCenter.default.removeObserver(self)
}
func applicationWillEnterForeground(_ notification: NSNotification) {
....
}
you can also use NSNotification.Name.UIApplicationDidBecomeActive