Yönergeleri ve Apple belgelerinden Touch ID API örneğini takip ettim. Uygulamamdaki örneği kullandım. Touch ID kullanarak giriş yapabildim. Ama problem onun duyarlılığı çok yavaş. Parmağımı Touch ID'ye koyduğumda, en az 10 saniye sonra başarıyı/başarısızlığı doğrulamak için beklemem gerekiyor. Kodu uygulama delegesi dosyasında kullandım. Farklı uygulamalarla da test ettim, ancak sonuç aynı "gecikmeli yanıt". Bu durumda bana yardım et lütfen.Dokunma Kimliği API'sı yanıtı çok yavaş
cevap
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
NSString *myLocalizedReasonString = <#String explaining why app needs authentication#>;
if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:myLocalizedReasonString
reply:^(BOOL success, NSError *error) {
if (success) {
// User authenticated successfully, take appropriate action
dispatch_async(dispatch_get_main_queue(), ^{
// write all your code here
});
} else {
// User did not authenticate successfully, look at error and take appropriate action
switch (error.code) {
case LAErrorAuthenticationFailed:
NSLog(@"Authentication Failed");
break;
case LAErrorUserCancel:
NSLog(@"User pressed Cancel button");
break;
case LAErrorUserFallback:
NSLog(@"User pressed \"Enter Password\"");
break;
default:
NSLog(@"Touch ID is not configured");
break;
}
NSLog(@"Authentication Fails");
}
}];
} else {
// Could not evaluate policy; look at authError and present an appropriate message to user
}
@vishal ... Teşekkürler. Kusursuz çalıştı :) – user4150758
@ user4150758 welcome .. !! –
, iş parçacığının blok yürütme işleminden sonra ne yaptığını açıklayabilir mi? – Rainelz
Başka}
dispatch_async(dispatch_get_main_queue(), ^{
//update ui
});
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
// Authenticate User
NSError *error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:@"Please verify that you are the device owner in order to place the order"
reply:^(BOOL success, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"There was a problem verifying your identity."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
return;
}
if (success) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"
message:@"You are the device owner!"
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"You are not the device owner."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
});
}];
}
ile ana iş parçacığı alertviews gösterilecek olan diğer, UI şey yapmak zorunda söylediği gibi {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Your device cannot authenticate using TouchID."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
ana iş parçacığı üzerinde, Swift 3.0 için:
myContext.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: myLocalizedReasonString) { (success, evaluateError) in
DispatchQueue.main.async {
if (success) {
//success
} else {
//failure
}
}
}
- 1. Android'de yavaş Javascript dokunma olayları
- 2. Android TextureView.getBitmap() çok yavaş
- 3. aktivite çok yavaş bitiyor
- 4. Hazırda bekletme çok yavaş
- 5. GitHub'dan çok yavaş indirme
- 6. Neden array.min çok yavaş?
- 7. Int32.ToString() Çok yavaş
- 8. PHP: scandir() çok yavaş
- 9. MySQL sorgusu çok yavaş
- 10. TortoiseSVN & Putty çok yavaş
- 11. Görsel Python çok yavaş
- 12. Coredata çok yavaş; hızlıca
- 13. Android çok noktalı dokunma ve getActionMasked()
- 14. F # Türü Sağlayıcılar çok çok yavaş inşa
- 15. Dosya yazmak için kıvılcım ayırma çok yavaş
- 16. InnoDB, çok yavaş ve yavaşlama ekler
- 17. Çok yavaş: ActiveRecord :: QueryCache # çağrı
- 18. Görüntülerle PDF'lerin üretilmesi çok yavaş
- 19. Symfony2 uygulaması VirtualBox'ta çok yavaş
- 20. NSAttributedString'de çok yavaş HTML oluşturma
- 21. Google bulut dağıtımı çok yavaş
- 22. Açma redis bağlantısı çok yavaş
- 23. Python sözlükte anlama çok yavaş
- 24. konsolide edilmiş işlev çok yavaş
- 25. Neden Eratosthenes Elek çok yavaş?
- 26. Çok yavaş UserInput Google Scripts
- 27. Facebook iOS SDK çok yavaş
- 28. Kovan sorgusu çok yavaş ve
- 29. Google Formlar çok yavaş performans
- 30. Git çok yavaş Mac/OSX
Kodu kod sırasına yazmalı mıyım? – user4150758
Bunu da fark ettim. Apple'ın örneğini takip ettim ve bu geri bildirimi almadan önce birkaç saniye alıyor. Birisinin bazı cevapları olduğunu umuyorum çünkü Apple'ın bu konudaki belgeleri yetersizdir. – Inertiatic
Evet. Fakat 1password’un kusursuz bir şekilde nasıl yürüdüğünden emin değilim. – user4150758