Ответ 1
+ Изменить
forName: Notification.Name.UIApplicationDidEnterBackground
в
forName: UIApplication.didEnterBackgroundNotification
Сначала он сказал, что
'UIApplicationDidEnterBackground' был переименован в 'UIApplication.didEnterBackgroundNotification'
и когда я его улаживаю, он сказал:
Тип "Notification.Name" (aka "NSNotification.Name") не имеет имени пользователя "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()
}
}
}
+ Изменить
forName: Notification.Name.UIApplicationDidEnterBackground
в
forName: UIApplication.didEnterBackgroundNotification
Ошибка с типом "NSNotification" не имеет члена "UIApplication" в swift4.2
NotificationCenter.default.addObserver(self, selector:#selector(handleNotification), name: NSNotification.Name.UIApplicationDidEnterBackground, object: nil)
Нужно изменить соответственно
NotificationCenter.default.addObserver(self, selector:#selector(handleNotification), name: UIApplication.didEnterBackgroundNotification, object: nil)
Xcode 11, swift 5
UIApplication.didBecomeActiveNotification
Если UIApplicaiton.didEnterBackgroundNotificaiton
не работает, попробуйте вместо этого просто .UIApplicationDidEnterBackground
.