iOS - Başlarken¶
EnQualify iOS SDK, uygulamanızın mevzuata uygun KYC (Know Your Customer) ve biyometrik doğrulama akışlarını doğrudan cihaz üzerinde gerçekleştirmesini sağlayan, on-premises (yerinde kurulum) bir kimlik doğrulama aracıdır. Kimlik belgelerini okur, temassız çipi doğrular, belge sahibinin canlı varlığını teyit eder ve — gerektiğinde — müşteriyi canlı bir doğrulama temsilcisine bağlar; tüm sonuçları uçtan uca şifreli bir kanal üzerinden doğrulama platformunuza iletir.
Bu rehber, SDK'yı entegre edecek bir geliştiriciyi gerekli tüm adımlar boyunca yönlendirir: genel mimari, ön koşullar ve minimum gereksinimler, mevcut kurulum yöntemleri ve uçtan uca doğrulama akışı. Her modül daha sonra kendi bölümünde ayrıca belgelenir.
Mimari ve Modüller¶
SDK, tek bir temel üzerine kurulu modüler bir mimariye sahiptir: Core Module. Tüm işlevsel modüller Core Module'e bağlıdır; bu nedenle başka herhangi bir modül kullanılmadan önce Core Module eklenmeli ve yapılandırılmalıdır. Bunun dışında her modül bağımsız olarak entegre edilebilir; böylece yalnızca akışınızın ihtiyaç duyduğu yetenekleri dahil edebilirsiniz.
| Modül | Sorumluluk |
| Core | Tüm modüllerin paylaştığı temel altyapı: token, oturum ve ayar yönetimi, sertifika ve SSL işlemleri, mesaj imzası (message signature) güvenlik katmanı ve ses dosyası yönetimi. |
| OCR | Kimlik kartı ve pasaportları arka kamera aracılığıyla okur: görsel nesne analizi, hologram tespiti, yüz fotoğrafı okuma, MRZ alanı okuma ve görsel güvenlik öğelerinin doğrulanması. |
| NFC | ICAO 9303 standardına uygun kimlik kartı ve pasaportların temassız çipindeki değiştirilemez verileri okur; çipi belge seri numarası, son geçerlilik tarihi ve sahibinin doğum tarihiyle açar. |
| Face | Canlılık tespiti (liveness) yapar ve canlı yüzü kimlik belgesindeki veya NFC çipindeki fotoğrafla karşılaştırır. Akış sırasında isteğe bağlı olarak video kaydı alır. |
| VideoCall | Son kullanıcı ile doğrulama temsilcisi arasında gerçek zamanlı bir görüntülü görüşme başlatır; temsilci eşleştirme, bekleme kuyruğu, yeniden deneme akışları ve Picture-in-Picture (PiP) modunu yönetir. |
| Utility | Doğrulama akışlarını destekleyen yardımcı hizmetler sunar: randevu yönetimi, belge imzalama, adres doğrulama, kurumsal müşteri doğrulama (KYB) ve çağrı tiplerinin alınması. |
Her modül sayfası, o modüle özgü konularla başlar; Core Module bölümünde anlatılan paylaşımlı davranış tüm modüller için geçerlidir ve tekrar edilmez.
Ön Koşullar ve Minimum Gereksinimler¶
SDK'yı entegre etmeden önce, derleme ortamınızın ve hedef projenizin aşağıdaki gereksinimleri karşıladığından emin olun.
| Gereksinim | Detay |
| Xcode | Xcode 16.0 veya üzeri. Bu, Apple'ın yayınlama işlemleri için şu anda kabul ettiği en düşük sürümdür; sürüm kararlılığı teyit edildikçe desteklenen Xcode sürümü ara güncellemelerle yükselir. |
| Minimum iOS | iOS 14.0. SDK, minimum iOS Deployment Target değeri 14.0 ve üzeri olan projelerle uyumludur. |
| Mimariler | arm64 (Apple Silicon / cihaz) ve x86_64 (Intel). Gerekli linker ayarları uygulandıktan sonra SDK her iki mimaride de derlenip çalıştırılabilir. |
| Simülatör | SDK simülatör için derlenir ancak üzerinde çalışamaz: OCR, Face ve VideoCall akışları kamerayı, NFC akışı ise NFC okuyucuyu kullanır ve bunlar simülatörde mevcut değildir. Doğrulama akışlarını fiziksel bir cihazda çalıştırın. |
| İzinler | Kamera, mikrofon ve NFC kullanım açıklamaları Info.plist içinde tanımlanmalı, NFC için ise Near Field Communication Tag Reading yeteneği etkinleştirilmelidir. Ayrıntılar için Core Module yapılandırma bölümüne bakın. |
| Depo erişimi | SDK özel (private) bir depo olarak dağıtılır. CocoaPods veya SPM kurulumu için Enqura tarafından sağlanan erişim kimlik bilgilerine (known hosts'a eklenmiş bir RSA/SSH anahtarı) ihtiyacınız vardır. |
Kurulum Seçenekleri¶
SDK projenize üç şekilde eklenebilir. Üçü de Core Module bölümündeki “Adding the SDK to the Project” başlığı altında ayrıntılı olarak belgelenmiştir.
-
Doğrudan XCFramework gömme — çekirdek .xcframework dosyalarını projenize ekleyin (Embed and Sign) ve gerekli bağımlılıkları CocoaPods ile yükleyin.
-
CocoaPods — private repo erişimini bir RSA anahtarıyla yapılandırdıktan sonra, modülü Podfile'ınızda özel pod kaynağından referanslaın.
-
Swift Package Manager (SPM) — gerekli SSH anahtarı ve host ayarlarını yapılandırdıktan sonra, özel GitHub deposunu SSH üzerinden ekleyin.
Kurulumdan sonra, Core Module bölümünde anlatılan kurulum sonrası derleme ayarlarını (dağıtım derlemesi, kod imzalama, geçerli mimariler, deployment target) uygulayın ve — simülatör derlemesi için — orada listelenen linker bayraklarını kaldırın.
Doğrulama Akışına Genel Bakış¶
SDK, mevzuata uygun iki aşamalı (parçalı) bir doğrulama modeli uygular. İlk aşama, kullanıcının belge, çip ve canlılık adımlarını kendi başına tamamladığı bir Self-Service akışıdır. Zorunlu olduğu durumlarda akış, bir doğrulama temsilcisiyle Video Call ile devam eder. Temsilci hemen müsait değilse, görüşmeyi ileri bir tarihe planlamak için randevu oluşturulabilir.
Tipik bir uçtan uca akış, modülleri aşağıdaki sırayla birleştirir:
-
OCR — belgenin ön ve arka yüzünü tarayın, belge tipini tespit edin, hologram ve diğer görsel güvenlik öğelerini doğrulayın ve MRZ'yi okuyun.
-
NFC — OCR sırasında elde edilen belge numarası, son geçerlilik tarihi ve doğum tarihini kullanarak temassız çipi okuyun.
-
Face — canlılık tespiti yapın ve canlı yüzü belgeden veya çipten gelen biyometrik fotoğrafla karşılaştırın.
-
VideoCall — gerektiğinde bir temsilciye bağlanın; temsilci görüşme sırasında OCR, NFC veya Face adımlarının tekrarını isteyebilir.
Başlatma Yaşam Döngüsü (Initialization Lifecycle)¶
Her işlevsel modül aynı başlatma yaşam döngüsünü izler. Her modülün API'si bir singleton'dır; bu nedenle işlemler uygulama oturumu boyunca aynı instance üzerinde çalışır. initialize çağrıldığında otomatik olarak sırayla üç adım gerçekleştirilir — token oluşturma, oturum başlatma ve ayarların alınması — ve halihazırda aktif bir oturum varsa o yeniden kullanılır:
-
Token oluşturma — başarısız olursa tokenCreateFailed tetiklenir.
-
Oturum başlatma — başarısız olursa sessionAddFailed tetiklenir.
-
Ayarların alınması — başarısız olursa settingsGetFailed tetiklenir.
Üç adım da başarılı olduğunda, initializeCompleted başlatılan modülün adıyla tetiklenir ve modül işlemlerine başlamaya hazır hale gelir. Token, oturum ve ayarlar o noktadan sonra SDK tarafından yönetilir.
Doğrulama platformuyla iletişim iki katmanda güvence altına alınır: bir SSL sertifikası (isteğe bağlı pinning ile) ortadaki adam (man-in-the-middle) saldırılarına karşı koruma sağlar; oturum bazında çalışan bir Message Signature mekanizması ise her isteği, her oturum için yeniden üretilen ve SDK içinde asla saklanmayan bir RSA anahtarıyla imzalar. Her iki katman da Core Module bölümünde açıklanmıştır.
Bu Rehber Nasıl Kullanılır¶
Temeli, sertifikaları ve yapılandırmayı kurmak için Core Module bölümüyle başlayın. Ardından akışınızın ihtiyaç duyduğu her modülün bölümünü okuyun. Her modül bölümü bir giriş, veri modelleri, bir entegrasyon adım adım anlatımı (“How Is the … Module Implemented?”) ve işlevleri ile delegate'lerini içeren bir kullanıcı rehberi referansı içerir. UI Customization bölümü, SDK ekranlarının, renklerinin, fontlarının, metinlerinin ve sesli yönlendirmesinin kod değişikliği olmadan Backoffice'ten nasıl yapılandırıldığını açıklar.