Я пытаюсь добавить идентификатор лица / Touch ID / код в свое приложение, но у меня возникают некоторые проблемы, когда я прекращаю его: вот ошибка, которую я получаю (с небольшими изменениями между запусками, например, номер изменяемого идентификатора):
Не удается завершить BackgroundTask: фоновая задача с идентификатором 12 не существует (0x c), или она может быть уже завершена. Перерыв в UIApplicationEndBackgroundTaskError () для отладки.
Я пытался следовать инструкциям, но не мог понять, что делать. На inte rnet я обнаружил, что это может быть ошибка, вызванная iOS 13, но у меня нет устройства под управлением iOS 12, чтобы проверить его.
Там нет любой кра sh войдите в мои настройки.
Вот код, вызывающий ошибку:
import UIKit
import LocalAuthentication
class LoginController: VController {
override func viewDidLoad() {
super.viewDidLoad()
let context = LAContext()
var error: NSError?
let reason = "Identificati"
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { (success, err) in
DispatchQueue.main.async {
if success {
context.invalidate()
let layout = UICollectionViewFlowLayout.init()
let dim = (UIScreen.main.bounds.width / 2) - 12
layout.itemSize = CGSize(width: dim, height: dim)
layout.sectionInset = UIEdgeInsets(top: 6, left: 6, bottom: 6, right: 6)
let vc = UINavigationController(rootViewController: ViewController(collectionViewLayout: layout))
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil)
} else {
print(err!.localizedDescription)
}
}
}
} else {
if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) {
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: reason) { (success, err) in
DispatchQueue.main.async {
if success {
context.invalidate()
let layout = UICollectionViewFlowLayout.init()
let dim = (UIScreen.main.bounds.width / 2) - 12
layout.itemSize = CGSize(width: dim, height: dim)
layout.sectionInset = UIEdgeInsets(top: 6, left: 6, bottom: 6, right: 6)
let vc = UINavigationController(rootViewController: ViewController(collectionViewLayout: layout))
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil)
} else {
print(err!.localizedDescription)
}
}
}
} else {
// Nothing worked
}
}
}
}