Turkcell | Geleceği Yazanlar

GELECEĞİ YAZANLAR BLOG

Yeni Blog Yaz

Uygulamanıza Touch ID ekleyin!

Burak - 28 Temmuz 2016

 

iPhone 5S ile ilk kez duyurulan Touch ID ile parola gerekmeden cihazınızı açabilir, iTunes Store üzerinden alışveriş yapabilirsiniz veya bu blog yazımızda olduğu gibi uygulamanızın herhangi bir ekranına Touch ID ile giriş yetkisini verebilirsiniz.

Bu yazımızı özetlersek;

  • Storyboard üzerinden örnek bir buton oluşturacağız.
  • Oluşturulan butonu Touch ID girişini tetiklemesi için kullanacağız.

 

1.ilk adımda Xcode Geliştirme ortamını açıyoruz.

2.Projemize isim veriyoruz.

3.Proje kayıt işlemlerini tamamladıktan sonra aşağıdaki görselde olduğu gibi  Storyboard yardımıyle bir buton oluşturup adına "Touch ID ile giriş yap" şeklinde değiştirebiliriz.İsmini dilediğiniz gibi yapabilirsiniz.

4. Kullandığımız butonun Conststraints yani ekran yerleşimini yapmamız gerekiyor. Bütün iPhone iPad modellerinde butonun ortada olmasını istiyorsak aşağıdaki gibi Constraints değerlerini giriyoruz.

5. Butonumuz artık her cihazda merkezde olacak. Bu işlemleri bitirdikten sonra kodlamaya geçiyoruz. Aşağıdaki kod bloğunu Viewcontroller.swift dosyası altında hazırladık dilerseniz farklı bir sınıf oluşturabilirsiz.

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 BTNAction(sender: AnyObject) {
    //Butona bastığımız an touchID metodunu çağırmak için IBAction metodu oluşturuyoruz.
        touchID()
        
    }

    
    func touchID(){
      
        let autocontent : LAContext = LAContext()
        
        //Hata döndüğünde yakalamak için NSError? sınıfından yararlanıyoruz.
        var Error : NSError?
        
        
        if autocontent.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error:&Error) {
            
           // Butona bastığımız anda UIAlertview'i tetikleyen bir metod
            autocontent.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Touch Id Test ediyoruz.", reply: { (Basarili:Bool,error:NSError?) in
            
                //Dönen mesajları konsolda görmek için koşul oluşturduk.
                //evaluatePolicy metodu otomatik olarak işlemin başarılı olup olmadığınız size Bool tipinde dönderir
                if Basarili{
                    
                    NSLog("Yeap")
                    
                }else {
                    
                    
                   NSLog("Tekrar deneyiniz")
 
                }

            })

        }
  
    }
    
    
}

Uygulamamızı Build modda çalıştırınca aşağıdaki bir sonuç çıkacaktır.

Kodların ne işe yaradığı konusunda bilgi almak için yorum satırlarını inceleyebilirsiniz.

Bu yazımızda Xcode 7.3.1 versiyonu kullanılmıştır.

Yorum yapmak için Giriş Yapın ya da Üye olun.