Узнайте, почему компании из списка Fortune 500 выбирают нас в качестве партнера по разработке программного обеспечения. Исследуйте наш портфель. Проверено более 2500 проектов. Есть идея проекта, чтобы поделиться с нами? Давай поговорим.
Узнайте, почему компании из списка Fortune 500 выбирают нас в качестве партнера по разработке программного обеспечения. Исследуйте наш портфель. Проверено более 2500 проектов. Есть идея проекта, чтобы поделиться с нами? Давай поговорим.
integrate biometric

Как интегрировать биометрическую аутентификацию в приложения iPhone

Apple iOS всегда верит в внедрение новейших обновленных технологий в свои устройства.

В прошлом году он запустил iPhone X и в этом году мы увидели появление iPhone XR и iPhone XS с несколькими новыми расширенными функциями и функциональными возможностями. Одной из популярных функциональных возможностей является внедрение Touch ID и Face Id.

Однако Apple представила Touch ID задолго до этого и его можно было получить с моделей iPhone 5S. Это уникальная функция, которая позволяет пользователю разблокировать свои устройства с помощью отпечатков пальцев.

Таким образом, технология продвинулась на один шаг дальше, когда пользователям не нужно было запоминать ключ пароля или шаблон блокировки.

Изначально разработчикам iOS было сложно аутентифицировать Touch ID в версии iOS 7, но с выходом iOS8 Apple успешно решила эту проблему, так как предложила официальную поддержку API для использования приложений.

Итак, давайте начнем с интеграции аутентификации сенсорных идентификаторов в приложение iOS.

Создание нового проекта

Первым шагом было бы создание нового проекта под меню файла, а затем выбор приложения Single View. Затем нажмите на следующую кнопку. Вы получите интерфейс примерно так, как на рисунке ниже.

new project
new project

Назовите свой проект

На следующем этапе нужно назвать свой проект. Например, можно назвать его как Биометрическая аутентификация.

project name

После успешного создания проекта пришло время импортировать локальную аутентификацию в ViewController.swift.

Добавление разрешения на конфиденциальность для использования описания NSFaceIDUsage

Необходимо перейти к конфигурации заявления о конфиденциальности Face ID в заявлении файла Info.plist проекта.

Это заявление о конфиденциальности, которое пользователь видит, когда приложение хочет получить разрешение на использование аутентификации Face ID. Для добавления этого заявления о конфиденциальности сначала выберите файл Info.plist в панели навигатора проекта и нажмите на кнопку +, которая находится в нижней части записи списка.

Далее выбирается описание использования идентификатора лица из желаемого результата предыдущей программы. Теперь добавьте описание в желаемое поле, как показано на рисунке.

description

Прохождение через доступность биометрической аутентификации

Но подождите минуту. Проверяли ли вы доступность биометрической аутентификации? Это необходимый шаг, чтобы следовать, потому что не все устройства iOS имеют возможность сканирования отпечатков пальцев и не поддерживают интеграцию сенсорного идентификатора и идентификатора лица.

Поэтому сначала нужно проверить наличие биометрической аутентификации. Это применимо как для интеграции сенсорного, так и для идентификатора лица.

Проверка доступности биометрических данных

Важно проверить биометрическую доступность, прежде чем продолжить. Если ваше устройство может поддерживать биометрический датчик, вы можете подумать о внедрении сканирования отпечатков пальцев или проверки идентификатора лица.

Следующий код будет указывать, будет ли устройство поддерживать Touch ID и Face ID, а также соответствующим образом обновлять текст в экземпляре authButton.

import UIKit
import LocalAuthentication

class ViewController: UIViewController {
// The first step would be to define few properties on the global level for your view controller

@IBOutlet weak var imgAuthenticate: UIImageView!
  let context = LAContext()
  var strAlertMessage = String()
  var error: NSError?
  override func viewDidLoad() {
    super.viewDidLoad()
if context.canEvaluatePolicy(
     LAPolicy.deviceOwnerAuthenticationWithBiometrics,
     error: &error) {

if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
   switch context.biometryType {
   case .faceID:
     self.strAlertMessage = "Set your face to authenticate"
     self.imgAuthenticate.image = UIImage(named: "face")
     break
   case .touchID:
     self.strAlertMessage = "Set your finger to authenticate"
     self.imgAuthenticate.image = UIImage(named: "touch")
     break
   case .none:
     print("none")
     //description = "none"
     break
   }
}else {

    // Device cannot use biometric authentication

    if let err = error {
     // calling error message function based on the error type
        let strMessage = self.errorMessage(errorCode: err._code)
        self.notifyUser("Error",
                   err: strMessage)
    }
  }
}else{
  if let err = error {
        let strMessage = self.errorMessage(errorCode: err._code)
        self.notifyUser("Error",
                   err: strMessage)
    }
  }
}

Получение биометрической аутентификации от пользователя

После того, как вы подтвердите, что он будет поддерживать Touch Id, вы можете выполнить следующую команду:

@IBAction func authenticateUser(_ sender: Any) {
// Device can use biometric authentication
     if context.canEvaluatePolicy(
        LAPolicy.deviceOwnerAuthenticationWithBiometrics,
        error: &error) {
        context.evaluatePolicy(
         .deviceOwnerAuthenticationWithBiometrics,
         localizedReason: self.strAlertMessage,
         reply: { [unowned self] (success, error) -> Void in
           DispatchQueue.main.async {
             if( success ) {
               //Fingerprint recognized
               // Do whatever action you want to perform
             } else {
                //If not recognized then
                if let error = error {
                   let strMessage = self.errorMessage(errorCode: error._code)
                   print(strMessage)
                 }
               }
             }
          })
        }
}

Проблемы с ошибками во время интеграции

Как разработчик iOS, вы должны заранее подготовиться к решению проблем, связанных с ошибками, при реализации аутентификации Touch Id на вашем устройстве.

// MARK: Get error message
func errorMessage(errorCode:Int) -> String{

    var strMessage = ""

    switch errorCode {
    case LAError.authenticationFailed.rawValue:
      strMessage = "Authentication Failed"

    case LAError.userCancel.rawValue:
      strMessage = "User Cancel"

    case LAError.userFallback.rawValue:
      strMessage = "User Fallback"

    case LAError.systemCancel.rawValue:
      strMessage = "System Cancel"

    case LAError.passcodeNotSet.rawValue:
      strMessage = "Passcode Not Set"
    case LAError.biometryNotAvailable.rawValue:
      strMessage = "TouchI DNot Available"

    case LAError.biometryNotEnrolled.rawValue:
      strMessage = "TouchID Not Enrolled"

    case LAError.biometryLockout.rawValue:
      strMessage = "TouchID Lockout"

    case LAError.appCancel.rawValue:
      strMessage = "App Cancel"

    case LAError.invalidContext.rawValue:
      strMessage = "Invalid Context"

    default:
      strMessage = "Some error found"

    }

    return strMessage

}

Теперь, когда интеграция Touch Id завершена, давайте поговорим о реализации Face ID. До сих пор мы искали биометрическую аутентификацию у пользователя. Здесь следующим шагом будет добавление заявления о конфиденциальности Face ID.

Тестирование приложений с использованием Face ID

После того, как вы интегрировали Face ID, пришло время провести тестирование биометрической аутентификации.

Здесь можно следовать двум методологиям; первая — это использование устройств iOS вручную, где вы получаете биометрическую поддержку. Во втором процессе вам нужно использовать среду симулятора.

Если вы выбираете второй способ проведения теста интеграции Face ID, то компиляция и запуск приложения на симуляторе iPhone X становится важным.

Когда приложение будет выпущено, вам нужно выбрать аппаратное обеспечение симулятора, а затем выбрать меню Face ID. Однако необходимо убедиться, что вы включили зарегистрированную опцию. Теперь нажмите кнопку аутентификации в приложении.

face id

После завершения теста вы получите опцию, в которой приложение спросит ваше разрешение, хотите ли вы разрешить биометрическому использовать идентификатор лица. Для идентификатора лица он будет отображать заявление о конфиденциальности, которое ранее отображалось в файле Info.plist.

authentication

После того, как вы разрешите доступ, вы наткнетесь на домашний экран, где вы можете увидеть кнопку «Аутентификат» с значком Face ID и значком отпечатка пальца в случае аутентификации Touch ID.

Touch authentication

После нажатия на кнопку Authenticate вы столкнетесь с серой имитационной панелью Face ID:

face id

Если вы хотите сопоставить лицо, выберите Аппаратные средства и исправьте идентификатор лица, а затем опцию «Меню сопоставления лица».

В случае Touch ID, он попросит вас в всплывающем окне установить палец,

touch id popup

Затем вы перенаправляете на новую страницу сообщение о том, что аутентификация прошла успешно.

bio authentication

Теперь вы можете повторить этот процесс и выбрать опцию меню «Не совпадающие категории» на этот раз, чтобы проверить, не срабатывает ли аутентификация.

Заключение

Можно сказать, что Touch ID, а также Face ID — одна из самых полезных и привлекательных функций, реализованных в последних моделях iPhone.

Таким образом, пользователи любят его, поскольку они чувствуют, что их устройства iPhone стали намного умнее и безопаснее. им не нужно запоминать пароль или шаблон блокировки, чтобы разблокировать телефон.

Стоит отметить, что Touch ID был представлен с запуском iOS 8, а распознавание лиц пришло вместе с открытием iPhone X в прошлом году.

Наш Разработчики iOS App Они имеют большой опыт и квалификацию в интеграции сенсорного и лицевого идентификаторов. Свяжитесь с нами С ними сегодня!

FAQs о биометрической аутентификации

Что такое биометрическая аутентификация?

Биометрическая аутентификация - это просто процесс безопасности для проверки личности с помощью уникальных характеристик человеческого тела. Системы биометрической аутентификации хранят эти данные для проверки личности пользователя.

Какие типы биометрической аутентификации распространены в приложении iPhone?

В приложении iPhone есть два распространенных типа биометрической аутентификации: Face ID и Touch ID.

Каковы преимущества биометрической аутентификации?

Есть несколько преимуществ биометрической аутентификации, таких как точная идентификация, безопасная, эффективная, удобная, легко масштабируемая и т. Д.

Нашел этот пост проницательным?Не забудьте поделиться им с вашей сетью!
  • facebbok
  • twitter
  • linkedin
  • pinterest
Parth Pandya
Написано

Парт Пандя, более 12 лет работавший в отрасли, является менеджером проектов в MindInventory, где его опыт работы в качестве технического аналитика, менеджера проектов и архитектора программного обеспечения сияет. Парт известен своим стратегическим подходом к управлению сложными проектами, используя свои технологические знания и практический опыт работы с такими технологиями, как Data & AI, iOS, Microsoft .Net и Adobe Flex, а также межличностные навыки.