Я имел в виду написать вложенную функцию, которая принимает строку причины для touchID и значение bool, если оно должно быть показано или нет. Это мой кодРеализация базового сенсорного ID
import UIKit
import LocalAuthentication
class XYZ : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
presentTouchID(reasonToDsiplay: "Are you the owner?", true) //ERROR: Expression resolves to an unused function
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func presentTouchID(reasonToDsiplay reason: String, _ shouldShow: Bool) -> (Bool) ->(){
let reason1 = reason
let show = shouldShow
let long1 = { (shoudlShow: Bool) ->() in
if show{
let car = LAContext()
let reason = reason1
guard car.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: nil) else {return}
car.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reason) {(success, error) in
guard error != nil else {return}
dispatch_async(dispatch_get_main_queue(), { Void in
print("Kwaatle")
})
}
}
else{
print("Mah")
}
}
return long1
}
}
Когда я presentTouchID(reasonToDsiplay: "Are you the owner?", true)
в func viewDidLoad()
я получаю сообщение об ошибке говорящего
Expression решает неиспользуемые функции.
Что я делаю неправильно?
И @ luk2302, это также можно рассматривать в качестве обработчика завершения правильно? – Dershowitz123
@ Dershowitz123 Да, это очень хороший обработчик завершения. – luk2302
Отлично. Это также синхронный процесс? Поскольку я читал, что синхронные процессы замерзают пользовательский интерфейс? Я ошибаюсь? @ Luk2302? – Dershowitz123