8
मैं अपने आईओएस ऐप में स्थानीय प्रमाणीकरण सुरक्षा को कार्यान्वित करना चाहता हूं लेकिन मैं त्रुटि प्राप्त कर रहा हूं और यह समझने में सक्षम नहीं हूं कि मुझे यह क्यों मिल रहा है।आईओएस में टचआईडी का उपयोग कैसे करें 10
मैं आईफोन 5 एस का उपयोग कर रहा हूं। क्या यह मायने रखता है?
कोड:
import UIKit
import LocalAuthentication
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func action(_ sender: Any) {
authenticateUser()
}
func authenticateUser() {
let authContext : LAContext = LAContext()
var error: NSError?
if authContext.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error){
authContext.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: "Biometric Check for application", reply: {(successful: Bool, error: NSError?) -> Void in
if successful{
print("TouchID Yes")
}
else{
print("TouchID No")
}
} as! (Bool, Error?) -> Void)
}
else{
authContext.evaluatePolicy(LAPolicy.deviceOwnerAuthentication, localizedReason: "Enter your Passcode", reply: {
(successful: Bool, error: NSError?) in
if successful{
print("PassCode Yes")
}
else{
print("PassCode No")
}
} as! (Bool, Error?) -> Void)
}
}
}
त्रुटि:
अग्रिम धन्यवाद।
कृपया बताएं कि इससे समस्या हल हो: क्योंकि आप एक बंद कास्ट नहीं टाइप कर सकते हैं यह है, क्योंकि ऐसा करना व्यर्थ है। –
यह त्रुटि के लिए एनएसईआरआरआर का कास्टिंग नहीं है, क्योंकि यह वह नहीं है जो आप कलाकारों के साथ कर रहे हैं। एक बंद एक प्रकार है और एक असंबंधित प्रकार के लिए एक बल डाउनकास्ट हमेशा असफल हो जाएगा। '12 के रूप में! स्ट्रिंग 'एक अपवाद फेंक देगा। इसी तरह जब आप डाउनकास्ट को मजबूर करते हैं '((बूल, एनएसईआरआरआर?) -> शून्य)' असंबंधित प्रकार '((बूल, त्रुटि?) -> शून्य)' आपको अपवाद मिलता है। सिर्फ इसलिए कि एनएसईआरआरआर और त्रुटि संबंधित हैं, संबंधित विभिन्न हस्ताक्षरों के साथ बंद नहीं करती हैं। – Paulw11