मैं iOS के लिए LocalAuthentication ढांचे का उपयोग कर रहा है और मेरे अनुप्रयोग के लिए TouchID प्रमाणीकरण लागू करने के लिए वेब से सामान्य ट्यूटोरियल का पालन किया है पर दिखाने के लिए "पासवर्ड दर्ज करें" है।LocalAuthentication ढांचा - मैं कैसे मिलता है पहले मंगलाचरण
जब ऐप संदर्भ देता है .evaluate नीति (नीति, त्रुटि: & त्रुटि) मैं उपयोगकर्ता को संवाद बॉक्स को खारिज करने और पासवर्ड दर्ज करने के लिए "रद्द करें" का चयन करने के बजाय "पासवर्ड दर्ज करें" का विकल्प दिखाना चाहता हूं ।
यह AppStore app में डिफ़ॉल्ट व्यवहार है, लेकिन मैं अपने ऐप उसी तरह प्रदर्शन करने के लिए नहीं मिल सकता है। कृपया AppStore स्क्रीनशॉट नीचे देखें:
कोड का उपयोग मैं वहाँ बाहर विभिन्न ट्यूटोरियल के अनुरूप है। नीचे कोड देखें।
मेरे ऐप को निम्न स्क्रीन के साथ की शुरूआत:
मैं उच्च और निम्न खोज की है, अतः और अन्य साइटों पर नहीं बल्कि साथ "पासवर्ड शो" मेरे एप्लिकेशन को लॉन्च करने में सक्षम है। जब मैं एलए संवाद बॉक्स को प्रमाणित करने के लिए एक अनियंत्रित उंगली का उपयोग करता हूं तो "पुनः प्रयास करें" में परिवर्तन होता है और "पासवर्ड दिखाएं" बटन होता है।
let context = LAContext()
var error : NSError?
// Test if TouchID policy is available on the device and a fingerprint has been enrolled.
var policy : LAPolicy!
if #available(iOS 9.0, *) {
policy = (context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error:&error) ? LAPolicy.DeviceOwnerAuthenticationWithBiometrics : LAPolicy.DeviceOwnerAuthentication)
} else {
// Fallback on earlier versions
policy = LAPolicy.DeviceOwnerAuthenticationWithBiometrics
}
if context.canEvaluatePolicy(policy, error:&error) {
// evaluate
context.evaluatePolicy(policy, localizedReason: reason, reply: {
(success: Bool, authenticationError: NSError?) -> Void in
// check whether evaluation of fingerprint was successful
if success {
okHandler()
} else {
// fingerprint validation failed
// get the reason for validation failure
var failureReason = "unable to authenticate user"
if let code = error?.code {
switch code {
case LAError.AuthenticationFailed.rawValue:
failureReason = "authentication failed"
case LAError.UserCancel.rawValue:
failureReason = "user canceled authentication"
case LAError.SystemCancel.rawValue:
failureReason = "system canceled authentication"
case LAError.PasscodeNotSet.rawValue:
failureReason = "passcode not set"
case LAError.UserFallback.rawValue:
failureReason = "user chose password"
default:
failureReason = "unable to authenticate user"
}
}
print("validation reason: \(failureReason).");
cancelHandler()
}
})
} else {
}
कृपया मदद!
क्या आपको इस समस्या का समाधान पता है? –