Я разрабатываю приложение, которое использует Face/Touch ID при открытии. Я достиг этого, добавив эту функцию в мой MainViewController():
let context = LAContext()
if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: nil) {
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: "Verifying") { (success, err) in
if success {
DispatchQueue.main.async {
self.loginSuccessfull()
self.button.removeFromSuperview()
}
} else {
if let err = err {
print(err)
}
}
}
}
Это вызывается как в ViewDidLoad, так и с помощью кнопки, как показано в этом видео. а>.
Как видите, когда я пытаюсь закрыть свое приложение, оно ведет себя очень странно, и я уверен, что это вызвано FaceID.
Любое предложение исправить это?
Журнал сбоев:
Error Domain=com.apple.LocalAuthentication Code=-4 "Caller moved to background." UserInfo={NSLocalizedDescription=Caller moved to background.}
2019-12-24 22:27:06.660868+0100 DemoApp[3266:786877] Can't end BackgroundTask: no background task exists with identifier 13 (0xd), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug. Error Domain=com.apple.LocalAuthentication Code=-4 "Caller moved to background." UserInfo={NSLocalizedDescription=Caller moved to background.}
- person Vipera74   schedule 25.12.2019Error Domain=com.apple.LocalAuthentication Code=-4 "Caller moved to background." UserInfo={NSLocalizedDescription=Caller moved to background.}
- person Vipera74   schedule 25.12.2019applicationDidResignActive
илиapplicationDidEnterBackground
? - person Alexander   schedule 18.02.2020sceneDidResignActive
пусто, а в моемsceneDidEnterBackground
есть только строка(UIApplication.shared.delegate as? AppDelegate)?.saveContext()
(уже там, поскольку приложение использует CoreData) - person Vipera74   schedule 18.02.2020