IOS ARCHITECTURE & DATA PROTECTION EĞİTİMİ

Sağlam mimari, güvenli veri

MVVM, Clean Architecture ve Keychain, CryptoKit, Secure Enclave ile güvenli iOS uygulama

iOS Architecture & Data Protection Eğitimi, büyüyen iOS uygulamalarını sürdürülebilir bir mimariyle kurmayı ve kullanıcı verisini korumayı öğretir.

4 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

MVC'den MVVM ve Clean Architecture'a, Keychain'den Data Protection API'ye kadar

iOS Architecture & Data Protection Eğitimi, büyüyen iOS uygulamalarını sürdürülebilir bir mimariyle kurmayı ve kullanıcı verisini platform güvenlik katmanıyla korumayı öğretir. Katılımcılar MVC, MVVM, VIPER ve Clean Architecture desenlerini karşılaştırır, bağımlılık enjeksiyonu ve Coordinator ile modüler katmanlar tasarlar.

Süre ve Format

4 Gün. Her gün dört modül; mimari desenler aynı örnek uygulama üzerinde yeniden kurulur ve güvenlik konuları gerçek saldırı senaryolarıyla uygulamalı

Seviye

Orta Seviye — iOS mimari desenlerini ve veri koruma katmanını Keychain, CryptoKit ve Secure Enclave ile öğreten program

Öğrenme Metodu

Tek bir örnek uygulama MVC'den MVVM ve Clean Architecture'a taşınır; ardından hassas verinin Keychain ve CryptoKit ile korunması adım adım

Neden Bu Eğitim?

🏛️Ölçeklenebilir mimari

Katmanları net ayırarak test edilebilir, değiştirmesi kolay ve büyüdükçe karışmayan iOS uygulamaları kurmayı öğrenirsiniz.

🔐Güvenli veri saklama

Parola, token ve kişisel veriyi Keychain ve Data Protection ile cihazda doğru şekilde korumayı uygulamalı kavrarsınız.

🧪Test edilebilir kod

Bağımlılık enjeksiyonu ve protokollerle katmanları soyutlayarak birim testi yazılabilir bir kod tabanı tasarlarsınız.

Anahtar Konular

ios mimari eğitimiios mvvm eğitimiclean architecture iosios veri güvenliğikeychain eğitimicryptokit eğitimiios data protectionswift mimari kursuios güvenlik eğitimisecure enclave ios
“İyi bir uygulama yalnızca çalışmaz; katmanları net ayrılmış, verisi doğru yerde şifreli ve anahtarı donanımla korunmuş biçimde güvende durur.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak bilgi ve kurulum ihtiyaçları

1
Swift bilgisi

Opsiyoneller, protokoller, closure ve generics gibi orta düzey Swift kavramlarına aşinalık gereklidir.

2
UIKit veya SwiftUI

Basit bir ekran kurup veriyi görünüme bağlayabilecek düzeyde UIKit ya da SwiftUI deneyimi beklenir.

3
Xcode ortamı

Güncel Xcode kurulu, simülatör veya cihazla uygulama çalıştırabilir durumda olunmalıdır.

4
Temel ağ kavramı

URLSession ile veri çekmeyi ve JSON çözümlemeyi bilmek mimari örneklerini kavramayı kolaylaştırır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı iOS'ta katmanlı mimarinin gerekçesini kavrar, Apple'ın MVC yaklaşımının sınırlarını görür ve aynı ekranı MVVM ile yeniden kurarak görünüm mantığını ayırır.
Modül 1
Mimariye Neden İhtiyaç Var
  • Massive View Controller sorununun ortaya çıkışı
  • Sorumlulukların ayrılması ve tek sorumluluk ilkesi
  • Katmanlar arası bağımlılık yönünün belirlenmesi
  • Test edilebilirlik ile mimari arasındaki ilişki
  • Örnek uygulamanın başlangıç yapısının incelenmesi
  • Mimari kararların bakım maliyetine etkisi
Modül 2
Apple MVC ve Sınırları
  • View Controller'ın model ve görünüm arasındaki rolü
  • Hedef-eylem ve delegate ile olay akışı
  • İş mantığının controller'da birikme eğilimi
  • Storyboard ve segue ile akış yönetimi
  • MVC'nin birim testini zorlaştıran yönleri
  • Hangi proje ölçeğinde MVC'nin yeterli olduğu
Modül 3
MVVM ve ViewModel Katmanı
  • ViewModel ile görünümden bağımsız sunum mantığı
  • View ile ViewModel arasındaki tek yönlü veri akışı
  • Durumun ViewModel içinde tutulması ve yayınlanması
  • Girdi doğrulama ve biçimlendirmenin ViewModel'e taşınması
  • ViewModel'in UIKit'e bağımlı kalmaması ilkesi
  • Aynı ViewModel'in farklı görünümlerle kullanımı
Modül 4
Veri Bağlama Yaklaşımları
  • Closure tabanlı basit bir binding kurma
  • Combine ile @Published ve sink kullanımı
  • SwiftUI'de ObservableObject ile otomatik bağlama
  • Delegate yerine yayınlanan durumla güncelleme
  • Bellek sızıntısına karşı zayıf referans kullanımı
  • Bağlama katmanının birim testle doğrulanması
Günün hedefiKatılımcı uygulamayı katmanlara bölen Clean Architecture yaklaşımını uygular, Coordinator ile gezinmeyi ayırır ve bağımlılık enjeksiyonuyla katmanları gevşek bağlar.
Modül 1
Clean Architecture Katmanları
  • Domain, use case ve varlık katmanının tanımı
  • Veri kaynağı ve repository soyutlamasının kurulması
  • Sunum katmanının domain'e bağımlı olması ilkesi
  • Bağımlılık yönünün içe doğru kuralı
  • Katmanlar arası veri taşıma nesneleri
  • Aşırı katmanlamanın getirdiği maliyetin tartışılması
Modül 2
Coordinator ile Gezinme
  • Ekran geçiş mantığının controller'dan ayrılması
  • Coordinator protokolü ve çocuk coordinator yapısı
  • Akışların başlatılması ve sonlandırılması
  • Derin bağlantı (deep link) ile akışa giriş
  • Coordinator yaşam döngüsü ve bellek yönetimi
  • UIKit ve SwiftUI'de gezinme farklarının ele alınması
Modül 3
Bağımlılık Enjeksiyonu
  • Başlatıcı ile bağımlılık geçirme yöntemi
  • Protokolle soyutlanmış servis arayüzleri
  • Üretim ve test için farklı uygulama sağlama
  • Basit bir bağımlılık konteyneri kurma
  • Singleton kullanımının riskleri ve alternatifi
  • Mock servisle katmanı izole ederek test etme
Modül 4
Modülerleştirme ve Paketler
  • Swift Package Manager ile yerel modül oluşturma
  • Özellik modüllerinin birbirinden ayrılması
  • Ortak çekirdek modülün paylaşılması
  • Modüller arası genel ve dahili erişim denetimi
  • Derleme süresinin modülerleştirmeyle iyileşmesi
  • Modül sınırlarının ekip çalışmasına katkısı
Günün hedefiKatılımcı iOS dosya koruma sınıflarını kavrar, hassas veriyi Keychain'de saklar ve UserDefaults gibi güvensiz yerlerde veri tutmanın risklerini ayırt eder.
Modül 1
iOS Veri Koruma Modeli
  • Dosya koruma sınıfları ve cihaz kilidiyle ilişkisi
  • CompleteFileProtection ile kilitliyken erişimin kapanması
  • Dosyaya koruma özniteliği atanması
  • Cihaz şifrelemesinin donanımla bütünleşmesi
  • Yedekleme ve veri kaçağı açısından değerlendirme
  • Hangi verinin hangi sınıfta saklanacağının seçimi
Modül 2
Keychain ile Gizli Veri
  • Keychain'in parola ve token için doğru yer olması
  • SecItemAdd ve SecItemCopyMatching ile temel işlemler
  • kSecAttrAccessible ile erişim zamanının belirlenmesi
  • ThisDeviceOnly seçeneğiyle yedeğe çıkmama
  • Keychain erişim grubuyla uygulamalar arası paylaşım
  • Keychain sarmalayıcı bir servis katmanı yazma
Modül 3
Güvensiz Depolamadan Kaçınma
  • UserDefaults'ta hassas veri tutmanın riski
  • Düz metin dosya ve log'da sızan bilgiler
  • Pano ve ekran görüntüsü üzerinden veri kaçağı
  • Hata ayıklama çıktısında gizli veri bırakmama
  • Üçüncü taraf SDK'lara giden veri denetimi
  • Depolama kararlarının tehdit modeliyle eşleşmesi
Modül 4
Kimlik Doğrulama Verisi Yönetimi
  • Oturum token'ının güvenli saklanması ve yenilenmesi
  • Access ve refresh token ayrımı
  • Çıkışta gizli verinin temizlenmesi
  • Jailbreak tespitinin sınırları ve yanılgıları
  • App Transport Security ile güvenli bağlantı zorlaması
  • Sertifika sabitleme (pinning) yaklaşımının özeti
Günün hedefiKatılımcı CryptoKit ile veriyi şifreler, Secure Enclave destekli anahtarlarla imzalama yapar ve LocalAuthentication ile Face ID veya Touch ID doğrulamasını güvenli biçimde entegre eder.
Modül 1
CryptoKit ile Şifreleme
  • Simetrik şifreleme için AES-GCM kullanımı
  • SymmetricKey üretimi ve güvenli saklanması
  • Veri bütünlüğü için SHA-256 özeti alma
  • HMAC ile mesaj doğrulama kodu üretme
  • Şifreli veriyi dosya ve Keychain'de tutma
  • Hazır algoritma kullanmanın el yapımına üstünlüğü
Modül 2
Anahtar Üretimi ve Yönetimi
  • Açık ve gizli anahtar çiftinin oluşturulması
  • Anahtarların Keychain'de güvenli saklanması
  • Anahtar döndürme ve eskitme stratejisi
  • Curve25519 ile imzalama ve anahtar anlaşması
  • Anahtar materyalinin bellekte en az süre tutulması
  • Anahtar kaybı senaryosunda kurtarma planı
Modül 3
Secure Enclave ve Uygulaması
  • Secure Enclave'in donanım tabanlı yalıtımı
  • Gizli anahtarın enclave dışına hiç çıkmaması
  • SecureEnclave.P256 ile anahtar oluşturma
  • Anahtar kullanımının biyometriyle koşullanması
  • İmzalama işleminin enclave içinde yürümesi
  • Secure Enclave destekli cihaz sınırlamalarının bilinmesi
Modül 4
Biyometrik Doğrulama
  • LAContext ile biyometri uygunluğunun denetlenmesi
  • Face ID ve Touch ID arasındaki farkın ele alınması
  • evaluatePolicy ile kullanıcı doğrulaması
  • Info.plist'te NSFaceIDUsageDescription tanımı
  • Biyometri başarısızlığında parolaya geri düşme
  • Doğrulamayı Keychain erişim denetimine bağlama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Mimari seçimi

MVC, MVVM, VIPER ve Clean Architecture arasından proje ölçeğine uygun deseni gerekçeleriyle seçebilirsiniz.

✅
MVVM uygulama

Görünüm mantığını ViewModel'e taşıyıp veri bağlama ile test edilebilir ve sade bir sunum katmanı kurarsınız.

✅
Katmanlı tasarım

Clean Architecture katmanlarını ve bağımlılık yönünü uygulayarak değiştirmesi kolay bir kod tabanı tasarlarsınız.

✅
Bağımlılık enjeksiyonu

Protokol ve DI ile servisleri soyutlayarak mock'larla birim testi yazılabilir katmanlar oluşturursunuz.

✅
Veri koruma

Data Protection sınıfları ve Keychain ile hassas veriyi cihazda doğru erişim seviyesiyle güvenle saklarsınız.

✅
Şifreleme becerisi

CryptoKit ile AES-GCM şifreleme, özet ve HMAC kullanarak veri gizliliği ve bütünlüğünü sağlarsınız.

✅
Secure Enclave

Gizli anahtarı Secure Enclave içinde üretip imzalama yaparak anahtar materyalini donanımla korursunuz.

✅
Biyometrik entegrasyon

LocalAuthentication ile Face ID ve Touch ID doğrulamasını güvenli geri düşüşlerle uygulamaya entegre edersiniz.

Kimler İçin Uygundur?

  • Orta düzey Swift bilen
  • uygulamalarını daha ölçeklenebilir bir mimariye taşımak isteyen iOS geliştiricileri
  • güvenli veri saklama gereksinimi olan ekipler
  • güvenlik duyarlı projelerde çalışan yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Orta düzey Swift bilen, uygulamalarını daha ölçeklenebilir bir mimariye taşımak isteyen iOS geliştiricileri ile güvenli veri saklama gereksinimi olan ekipler için uygundur. Opsiyoneller, protokol ve closure gibi temel kavramlara aşinalık yeterlidir.
Hangi mimari desenler işleniyor?
MVC'nin sınırları, MVVM ile veri bağlama, VIPER'a genel bakış ve Clean Architecture katmanları işlenir. Aynı örnek uygulama farklı desenlerle yeniden kurulur, böylece her yaklaşımın güçlü ve zayıf yönleri karşılaştırmalı görülür.
Veri koruma tarafında neler öğretiliyor?
iOS Data Protection dosya koruma sınıfları, Keychain ile gizli veri saklama, CryptoKit ile AES-GCM şifreleme ve özet alma, Secure Enclave destekli anahtarlar ve LocalAuthentication ile Face ID veya Touch ID doğrulaması uygulamalı olarak ele alınır.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Mimari konular aynı uygulama üzerinde yeniden kurularak, güvenlik konuları ise gerçek senaryolarla işlenir. Yüz yüze veya online yapılabilir ve kurumun ihtiyacına göre uyarlanır.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve uygulanan mimari ile güvenlik çalışmalarını belgeler; kurumsal gruplara özel uyarlama yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. iOS Architecture & Data Protection Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

iOS ve SwiftManaging Upload & Download in iOS Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Managing Upload & Download in iOS Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Swift ve URLSession ile iOS'ta dosya indirme, yükleme, ilerleme takibi, resume data ve arka plan transferlerini uygulamalı öğreten kurumsal eğitim.

Detayları Gör →
iOS ve SwiftProtecting Data in iOS Apps Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Protecting Data in iOS Apps Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

iOS uygulamalarında Keychain, Data Protection, CryptoKit, biyometrik doğrulama ve sertifika sabitleme ile veri güvenliğini uygulamalı öğreten kurumsal eğitim.

Detayları Gör →
iOS ve SwiftReact Native için iOS ve Android Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

React Native için iOS ve Android Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

React Native ile tek kod tabanından iOS ve Android uygulaması geliştirmeyi, bileşenler, gezinme, native modüller ve mağaza yayınını öğreten kurumsal eğitim.

Detayları Gör →
iOS ve SwiftRSTECH: IOS Commands, Startup-Config, & IOX-XE Modes Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

RSTECH: IOS Commands, Startup-Config, & IOX-XE Modes Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Cisco IOS komut satırı modları, running ve startup-config yönetimi, NVRAM, flash ve IOS-XE farklarını RSTECH kapsamında uygulamalı öğreten kurumsal eğitim.

Detayları Gör →
iOS ve SwiftRSTECH: OS Types, IOS Access, & Terminal Emulation Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

RSTECH: OS Types, IOS Access, & Terminal Emulation Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Cisco OS türleri, konsol ve SSH ile cihaz erişimi, PuTTY terminal emülasyonu ve seri konsol ayarlarını RSTECH kapsamında uygulamalı öğreten kurumsal eğitim.

Detayları Gör →
iOS ve SwiftSDKs for Android & iOS Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

SDKs for Android & iOS Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Android SDK, iOS SDK, Gradle, CocoaPods, Swift Package Manager ve Firebase entegrasyonunu uygulamalı öğreten kurumsal mobil geliştirme eğitimi.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn