iOS - Başlarken¶
Bu sayfa, EnQualify iOS SDK'yı projenize eklemek için gereken tüm adımları kapsar. Modül kurulumuna geçmeden önce bu sayfadaki adımları tamamlamanız gerekir.
1. Kurulum Yöntemi Seçin¶
EnQualify iOS SDK üç farklı yöntemle projeye eklenebilir.
| Yöntem | Ne Zaman Tercih Edilir? |
|---|---|
| CocoaPods | Standart ve önerilen yöntem |
| Swift Package Manager (SPM) | Xcode-native paket yönetimi tercih ediliyorsa |
| Manuel XCFramework | CI/CD pipeline'ı veya özel derleme süreci varsa |
2. Private Repo Erişimi¶
Her üç yöntem de EnQualify'ın private GitHub reposuna erişim gerektirir. Bunun için bir SSH key oluşturmanız ve bu key'i Enqura ekibine iletmeniz gerekmektedir.
İlk kez kurulum yapıyorsanız: Aşağıdaki SSH kurulum adımını tamamlamadan CocoaPods veya SPM kurulumuna geçmeyin. Key iletilmeden repo erişimi sağlanamaz.
SSH Key Oluşturma (CocoaPods için)¶
wide760# RSA key oluştur ssh-keygen -t rsa -b 4096 -C "[email protected]"
GitHub'ı known hosts listesine ekle¶
ssh-keyscan github.com >> ~/.ssh/known_hosts
Public key'i görüntüle ve Enqura ekibine ilet¶
cat ~/.ssh/id_rsa.pub
Key iletildikten sonra private repo'yu yerel listenize ekleyin:
wide760pod repo add enquratechnology-enqualifyiospackages \ ssh://[email protected]/EnquraTechnology/EnQualifyiOSPackages.git
SSH Key Oluşturma (SPM için)¶
SPM ve Xcode'un private repo'ya erişebilmesi için ed25519 formatında ayrı bir key oluşturulması önerilir.
wide760# SSH agent'ı başlat eval "$(ssh-agent -s)"
Key oluştur¶
ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_github -C "[email protected]"
Key'i macOS Keychain ve SSH agent'e ekle (Xcode tekrar şifre sormaz)¶
ssh-add --apple-use-keychain ~/.ssh/id_github
Public key'i görüntüle ve Enqura ekibine ilet¶
cat ~/.ssh/id_github.pub
~/.ssh/config dosyasına aşağıdaki yapılandırmayı ekleyin:
wide760Host github.com HostName github.com User git IdentityFile ~/.ssh/id_github UseKeychain yes AddKeysToAgent yes IdentitiesOnly yes
GitHub'ı known hosts listesine ekleyin ve bağlantıyı test edin:
wide760ssh-keyscan -H github.com >> ~/.ssh/known_hosts ssh -T [email protected]
3. SDK Kurulumu¶
CocoaPods¶
Podfile'ınıza aşağıdaki source tanımlarını ve modülleri ekleyin. Kullanmayacağınız modülleri eklemenize gerek yoktur.
ruby
wide760source 'ssh://[email protected]/EnquraTechnology/EnQualifyiOSPackages.git' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '14.0' use_frameworks! target 'YourApp' do pod 'EnQualify/OCR', '2.1.0.0' pod 'EnQualify/NFC', '2.1.0.0' pod 'EnQualify/Face', '2.1.0.0' pod 'EnQualify/VideoCall', '2.1.0.0' pod 'EnQualify/Utility', '2.1.0.0' end
-s eki hakkında: pod 'EnQualify/OCR', '2.1.0.0-s' şeklindeki -s sürümleri static linkage içindir. Native iOS projelerinde genellikle gerekmez; aksi belirtilmedikçe -s sürümlerini kullanmayın.
post_install bloğunu Podfile'a ekleyin. Bu blok tüm modüller için geçerlidir, bir kez tanımlamak yeterlidir:
ruby
wide760post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES' config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "" config.build_settings['VALID_ARCHS'] = "arm64 x86_64" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0' config.build_settings["ONLY_ACTIVE_ARCH"] = "YES" end end end
Swift Package Manager (SPM)¶
SSH yapılandırması tamamlandıktan sonra Xcode üzerinden şu repo URL'sini ekleyin:
wide760ssh://[email protected]/EnquraTechnology/EnQualifyiOSPackages.git
Xcode → File → Add Package Dependencies yolunu izleyin, URL'yi girin ve kullanmak istediğiniz modülleri seçin.
Manuel XCFramework¶
- Enqura ekibinden temin ettiğiniz
.xcframeworkdosyalarını proje dizininize kopyalayın. - Xcode → Project Settings → General → Frameworks, Libraries, and Embedded Content bölümüne gidin.
- Her
.xcframeworkdosyasını Embed and Sign olarak ekleyin. - Bağımlılıkları
post_installbloğu dahil CocoaPods üzerinden kurun (framework dosyalarınınpodspec'inde belirtilen sürümleri kullanın).
4. Simülatör Desteği¶
EnQualify SDK kamera ve NFC donanımı gerektirdiğinden simülatörde çalışmaz; ancak başarıyla derlenebilir. Simülatörde derleme hatası alıyorsanız aşağıdaki adımı uygulayın.
Xcode → Project Target → Build Settings → OTHER_LDFLAGS bölümüne gidin. Any iOS Simulator SDK seçeneği altında $(inherited) bayrağını kaldırın ve şu kütüphanelere ait bayrakları silin:
wide760MLKitCommon · MLKitVision · MLKitFaceDetection · MLImage TensorFlowLiteC · WebRTC
Manuel düzenleme tercih ederseniz .xcodeproj paketini açıp .pbxproj dosyasında OTHER_LDFLAGS[sdk=iphonesimulator*] anahtarını bulun ve ilgili değerleri temizleyin.
5. Proje Konfigürasyonu¶
Info.plist İzinleri¶
SDK'nın kamera, mikrofon ve NFC özelliklerine erişebilmesi için Info.plist dosyasına aşağıdaki anahtarları ekleyin. Kullanmadığınız modüllere ait izinleri eklemenize gerek yoktur.
xml
wide760
NFC Capability ve Entitlements¶
NFC okuma özelliği için projenize Near Field Communication Tag Reading capability'sini ekleyin:
Xcode → Target → Signing & Capabilities → + Capability → Near Field Communication Tag Reading
Bu işlem otomatik olarak .entitlements dosyası oluşturur ve içine aşağıdaki girdiyi ekler. Dosya oluşturulmazsa manuel olarak oluşturun:
xml
wide760
Entitlements dosyası eksik veya hatalıysa NFC işlevi beklendiği gibi çalışmaz, uygulamanız NFC erişimini talep edemez.
Picture in Picture (PiP) — VideoCall için¶
VideoCall modülünde PiP desteği kullanılacaksa şu adımları izleyin:
Xcode → Target → Signing & Capabilities → + Capability yolundan şunları ekleyin:
- Multitasking Camera Access
- Background Modes → Audio, AirPlay and Picture in Picture seçeneğini işaretleyin
Bu ayar yapılmadan PiP moduna geçildiğinde görüntü yerine gri ekran görünür.
6. SSL Sertifikası Kurulumu¶
EnQualify SDK, backend ile iletişimde SSL pinning kullanır. Sertifikanın projeye eklenmesi zorunludur.
Sertifikayı İndirme ve Dönüştürme¶
- Enqura tarafından sağlanan doğrulama platformu URL'sini Firefox ile açın.
- Adres çubuğundaki kilit simgesine tıklayın → Daha Fazla Bilgi → Sertifikayı Görüntüle.
- Açılan sayfadan PEM (chain) dosyasını indirin.
- İndirilen dosyanın bulunduğu klasörde terminali açın ve
.pemdosyasını.derformatına dönüştürün:
bash
wide760openssl x509 -outform der -in _.enqualify.io.pem -out enqura.der
Alternatif olarak Enqura'nın sağladığı DerGeneratorApp macOS uygulamasını kullanabilirsiniz. Uygulama hem URL üzerinden otomatik indirme hem de mevcut
.pemdosyasını dönüştürme seçeneklerini sunar.
Sertifikayı Projeye Ekleme¶
- Oluşturulan
.derdosyasını Xcode'da proje gezginine sürükleyin. - Açılan iletişim kutusunda hedef target'ın seçili olduğundan emin olun.
- Build Phases → Copy Bundle Resources altında sertifikanın göründüğünü doğrulayın.
Sertifika adının BaseModel içinde verdiğiniz adla eşleşmesi gerekir; aksi halde runtime'da hata alırsınız. Detaylar için Core Modülü → BaseModel bölümüne bakınız.
Birden fazla sertifika gerekiyorsa
setBaseModel()içindekisignallingCertificateListvemapiCertificateListalanlarına birden fazla değer geçebilirsiniz..derdosyası yerine Base64 string olarak da sertifika tanımlanabilir.
Kurulum ve konfigürasyon tamamlandıktan sonra Core Modülü sayfasına geçerek BaseModel ve SessionModel tanımlarını yapabilirsiniz.