Reputation: 595
First it said that
'UIApplicationDidEnterBackground' has been renamed to 'UIApplication.didEnterBackgroundNotification'
and when I dot it,it said
Type 'Notification.Name' (aka 'NSNotification.Name') has no member 'UIApplication'
func listenForBackgroundNotification() {
observer = NotificationCenter.default.addObserver(forName: Notification.Name.UIApplicationDidEnterBackground, object: nil, queue: OperationQueue.main) { [weak self] _ in
if let weakSelf = self {
if weakSelf.presentedViewController != nil {
weakSelf.dismiss(animated: true, completion: nil)
}
weakSelf.descriptionTextView.resignFirstResponder()
}
}
}
Upvotes: 58
Views: 31469
Reputation: 47
Xcode 11.4.1, Swift 5
Had the exact same issue. My problem was I didn't import UIKit in my custom class
import UIKit
Then I was able to implement the following:
name: UIApplication.didEnterBackgroundNotification
Upvotes: 2
Reputation: 31
If UIApplicaiton.didEnterBackgroundNotificaiton
isn't working, try just .UIApplicationDidEnterBackground
instead.
Upvotes: 3
Reputation: 767
Error with Type 'NSNotification' has no member 'UIApplication' in swift4.2
NotificationCenter.default.addObserver(self, selector:#selector(handleNotification), name: NSNotification.Name.UIApplicationDidEnterBackground, object: nil)
Need to Change accordingly
NotificationCenter.default.addObserver(self, selector:#selector(handleNotification), name: UIApplication.didEnterBackgroundNotification, object: nil)
Upvotes: 5
Reputation: 534977
Change
forName: Notification.Name.UIApplicationDidEnterBackground
to
forName: UIApplication.didEnterBackgroundNotification
Upvotes: 128