iPadOS: temel kavramlar, iPad geliştirme ve Apple Pencil

Yazar: IT Sectr Yayınlanma: 2026-02-07 Okuma süresi: 12 dk

iPadOS, 2019 yılında iOS'tan ayrılan Apple'ın iPad işletim sistemidir. iPad geliştirme, benzersiz yetenekleri dikkate alır: Split View ve Stage Manager çoklu görevi, düşük gecikmeli Apple Pencil girişi ve masaüstü Safari.

Önemli Noktalar

  • iPadOS — genişletilmiş çoklu görev ve Apple Pencil desteği ile iOS'un bir çatalı
  • Çoklu görev Split View, Slide Over, Stage Manager ve harici monitörleri içerir
  • Apple Pencil — 9–20 ms gecikmeli kalem, PencilKit ve hover API desteği
  • Arayüz uyarlaması Size Classes (regular/compact) ve UISplitViewController kullanır
  • Safari iPadOS'ta masaüstü modunda indirme yöneticisiyle çalışır

iPadOS nedir?

iPadOS, ilk olarak 2019'da iOS'un (sürüm 13) bir çatalı olarak yayınlanan Apple'ın iPad işletim sistemidir. Bundan önce iPad, iPhone ile aynı iOS'u kullanıyordu. iPadOS'un ayrılması, Apple'ın büyük ekrana özel özellikler sunmasına olanak sağladı: çoklu görev, masaüstü Safari, sürükle ve bırak ve harici monitör desteği.

iPadOS, iOS uygulamalarıyla tam uyumluluğu korur: herhangi bir iPhone uygulaması iPad'de ölçekleme modunda çalışır. Ancak, kaliteli bir kullanıcı deneyimi uyarlama gerektirir: Size Classes, UISplitViewController ve klavye kısayolu desteği kullanma. Apple'a (WWDC 2025) göre, iPad'deki zamanın %80'i kullanıcılar ölçeklenmiş sürümler yerine tablet için optimize edilmiş sürümlerde geçiriyor.

iPadOS Sürüm Geçmişi

iPadOS 13 (2019) Slide Over ve Split View'i tanıttı. iPadOS 14 (2020) Apple Pencil Scribble ve kompakt arayüz ekledi. iPadOS 15 (2021) Quick Note ve çoklu görev iyileştirmelerini tanıttı. iPadOS 16 (2022) Stage Manager ve harici monitör desteğini getirdi. iPadOS 17 (2023) etkileşimli widget'lar ve Kilit Ekranı kişiselleştirme ekledi.

iPadOS SürümüYılTemel Yenilik
iPadOS 132019Slide Over, Split View, masaüstü Safari
iPadOS 142020Apple Pencil için Scribble, kompakt aramalar
iPadOS 152021Quick Note, geliştirilmiş çoklu görev yöneticisi
iPadOS 162022Stage Manager, harici 6K monitör
iPadOS 172023Etkileşimli widget'lar, Kilit Ekranı
iPadOS 182024Hesap Makinesi Math Notes, Smart Script

iPadOS Mimarisi ve iOS'tan Farkları

iPadOS iOS ile aynı XNU çekirdeği ve Darwin'i temel alır, ancak birden çok pencere ve isteğe bağlı ekran boyutlarına uyarlanmış değiştirilmiş bir UIKit kabuğu kullanır. Temel mimari fark, iOS 13'te tanıtılan UIScene desteğidir.

UIScene ve Pencere Yaşam Döngüsü

iPadOS'ta her pencere (Split View'dekiler dahil) kendi yaşam döngüsüne sahip ayrı bir UISceneSession'dır. Bir uygulamanın tek bir UIWindowScene'e sahip olduğu iPhone'un aksine, iPad'de bir uygulamanın birden çok UIScene'i (birden çok pencere, Slide Over, Stage Manager) olabilir. SceneDelegate her pencerenin durumunu bağımsız olarak yönetir.

swift
import UIKit
import SwiftUI

/// iPadOS'ta birden çok pencere desteği için SceneDelegate
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?
    var splitVC: UISplitViewController?

    func scene(_ scene: UIScene,
                 willConnectTo session: UISceneSession,
                 options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }

        // Tablet gezintisi için UISplitViewController oluşturma
        let splitVC = UISplitViewController(style: .tripleColumn)
        splitVC.primaryBackgroundStyle = .sidebar

        let sidebar = SidebarViewController()
        let primary = PrimaryViewController()
        let detail = DetailViewController()

        splitVC.viewControllers = [sidebar, primary, detail]

        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = splitVC
        window.makeKeyAndVisible()
        self.window = window
    }

    // Pencere boyutu değişikliğine uyum (Split View)
    func windowScene(_ windowScene: UIWindowScene,
                     didUpdate previousCoordinateSpace: UICoordinateSpace,
                     interfaceOrientation previousOrientation: UIInterfaceOrientation) {
        let isMultitasking = windowScene.traitCollection.horizontalSizeClass == .compact
        print("iPadOS multitasking mode: \(isMultitasking ? "compact" : "regular")")
    }
}

.tripleColumn stiliyle UISplitViewController aynı anda üç sütun görüntüler: kenar çubuğu (gezinme), birincil (liste) ve ayrıntı (içerik). Kompakt moda (başka bir uygulamayla Split View) geçerken, UIKit sütunları otomatik olarak bir gezinme yığınına daraltır. Geliştirici bu davranışı manuel olarak yönetmez — UIKit düzeni traitCollection aracılığıyla uyarlar.

iOS'tan Ek Farklar

iPadOS şunları sunar: Files (USB-C/Thunderbolt) aracılığıyla harici depolama desteği, öğe inceleme özellikli Safari terminal modu, UIKeyCommand aracılığıyla klavye kısayolları, sistem indirme yöneticisi, uygulamalar arasında sürükle ve bırak ve yeniden boyutlandırılabilir pencere ile Picture in Picture.

iPad'de Çoklu Görev: Split View, Slide Over, Stage Manager

Çoklu görev, iPadOS'un iOS'tan temel olarak ayıran önemli bir özelliğidir. Kullanıcı tek bir ekranda birden çok uygulamayla aynı anda çalışabilir. Geliştirici, uygulamanın herhangi bir çoklu görev modunda doğru şekilde çalışmasını sağlamalıdır.

Split View

Split View, iPad ekranını iki uygulama arasında 50/50 veya 33/67 oranında böler. Her uygulama kendi belleği ve yaşam döngüsüyle kendi UISceneSession'ını alır. Ekran genişliği 600 puntodan az olduğunda, UIKit uygulamayı zorla kompakt yatay size class'a geçirir. Uygulama bu değişikliği doğru şekilde ele almalıdır.

Slide Over

Slide Over, etkin uygulamanın üzerinde yüzen bir penceredir (genişlik 320 punto). Slide Over'daki bir uygulama kompakt yatay size class'a (.compact) geçer. Dar bir ekran için kullanıcı arayüzünü optimize etmek önemlidir. Slide Over'da uygulama, sağ kenardan kaydırarak veya dock aracılığıyla çağrılabilir. Kullanıcı Slide Over'ı Split View'a sürükleyebilir veya sağa kaydırarak kapatabilir.

Stage Manager

Stage Manager (iPadOS 16+, M1 ve daha yenisi), isteğe bağlı boyutlarda örtüşen pencereler oluşturmaya izin veren bir pencere yöneticisidir. iPad ekranında en fazla 4 pencere ve harici monitörde en fazla 4 (toplam 8) pencere desteklenir. Uygulamalar, her yeni pencere için UISceneWillConnectNotification olayını alır. Stage Manager, yaşam döngüsü kurallarını değiştirir: arka plandaki bir pencere donmaz, sınırlı kaynaklarla çalışmaya devam eder.

ModPencere SayısıPencere BoyutuSize Class
Tam ekran1Ekranın %100'üRegular
Split View 50/502Ekranın %50'siRegular (iPad Pro 12.9) veya Compact
Split View 33/672%33 / %67%33 için Compact
Slide Over1 + yüzen320 ptCompact
Stage Manager1–4İsteğe bağlıBoyuta bağlı

Apple Pencil ve El Yazısı Girişi

Apple Pencil, eğim, basınç ve hover algılama desteği (iPad Pro M2+) ile Apple'ın aktif kalemidir. Kalem hareketi ile mürekkep görüntüleme arasındaki gecikme modele bağlı olarak 9–20 ms'dir. PencilKit, bir uygulamaya çizim entegre etmek için birincil framework'tür.

PencilKit: Çizim Entegrasyonu

PKCanvasView, mürekkep, kurşun kalem, işaretleyici ve silgi desteğiyle hazır bir çizim yüzeyi sağlar. PKToolPicker, araç seçim panelidir. Geliştiricinin kontur oluşturmayı uygulaması gerekmez — PencilKit bunu Metal gölgelendiricileriyle donanım hızlandırmalı olarak yapar. Kalem rengi, kalınlığı ve opaklık özelleştirmesi mevcuttur.

swift
import PencilKit
import UIKit

class DrawingViewController: UIViewController {

    private lazy var canvasView: PKCanvasView = {
        let canvas = PKCanvasView()
        canvas.tool = PKInkingTool(.pen, color: .black, width: 5)
        canvas.delegate = self
        canvas.drawingPolicy = .anyInput
        canvas.backgroundColor = .white
        return canvas
    }()

    private lazy var toolPicker: PKToolPicker = {
        let picker = PKToolPicker()
        picker.addObserver(canvasView)
        picker.setVisible(true, forFirstResponder: canvasView)
        return picker
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(canvasView)
        canvasView.frame = view.bounds
        canvasView.becomeFirstResponder()
        toolPicker.addObserver(canvasView)
    }

    // Çizimi PKDrawing'e kaydetme (ikili biçim)
    func saveDrawing() {
        let drawingData = canvasView.drawing.dataRepresentation()
        let url = FileManager.default.urls(
            for: .documentDirectory, in: .userDomainMask
        )[0].appendingPathComponent("drawing.drawing")
        try? drawingData.write(to: url)
    }
}

extension DrawingViewController: PKCanvasViewDelegate {
    func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
        print("Canvas changed: \(canvasView.drawing.strokes.count) strokes")
    }
}

drawingPolicy .anyInput ile PKCanvasView hem Apple Pencil hem de parmak girişini kabul eder. PKToolPicker, kullanıcıya özel kullanıcı arayüzü yazmadan araç seçimi sunar. PKDrawing yüksek sıkıştırmalı ikili biçimde saklanır — bir saatlik çizim yaklaşık 5–10 MB yer kaplar.

Scribble ve Metin Tanıma

Scribble (iPadOS 14+), herhangi bir UITextField ve UITextView'da el yazısı yazmaya izin verir. Sistem, Neural Engine'ı kullanarak cihazda el yazısını tanır. ML modeli Latin ve Kiril alfabeleriyle çalışır. iOS 17+'da Scribble, otomatik düzeltme ve sonraki kelime tahminini destekler. Geliştiricinin kod eklemesi gerekmez — Scribble herhangi bir giriş alanıyla otomatik olarak çalışır.

Apple Pencil Pro için Hover API

iPadOS 17.4 ve Apple Pencil Pro ile başlayarak, geliştiriciler kalem ekrana yaklaştığında (12 mm'ye kadar) hover olayları alır. Olay konum, kuvvet ve azimut içerir. Uygulamalar: çizim uygulamalarında fırça temas noktasının önizlemesi, araç önizlemesi, dokunmadan önce görsel geri bildirim.

iPad için Arayüz Uyarlaması

Uyarlanabilir arayüz iPad uygulamaları için zorunlu bir gerekliliktir. iPad, farklı ekran boyutlarında (8,3"–13") ve çoklu görev modlarında çalışır. UIKit, otomatik uyarlama için Size Classes (yatay: .regular/.compact, dikey: .regular/.compact) ve UISplitViewController sağlar.

Size Classes ve traitCollection

Size Classes, kullanılabilir alanı tanımlayan bir soyutlamadır. Tam ekran modunda iPad'de her iki eksen de .regular'dir. Split View'da (%50), yatay sınıf iPad mini veya iPad Air'de .compact olabilir. Auto Layout ve UICollectionViewCompositionalLayout ile oluşturulan tüm popüler düzenler otomatik olarak uyarlanır. Özel uyarlama, traitCollectionDidChange geçersiz kılınarak yapılır.

swift
import SwiftUI

/// Size Classes kullanarak iPad için uyarlanabilir düzen
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // Tablet modu: kenar çubuğu + içerik
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // Kompakt mod: yığın gezintisi
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// Uyarlanabilir ızgara örneği: iPad'de 3 sütun, iPhone'da 2
struct ContentGridView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass

    private var columns: [GridItem] {
        let count = horizontalSizeClass == .regular ? 3 : 2
        return Array(repeating: GridItem(.flexible(), spacing: 16), count: count)
    }

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 16) {
                ForEach(items) { item in
                    ItemCard(item: item)
                }
            }
            .padding()
        }
    }
}

Örnekte, NavigationSplitView yalnızca horizontalSizeClass == .regular (tam ekran iPad) olduğunda kullanılır. NavigationStack kompakt modda kullanılır. Izgara sütun sayısı (3'e karşı 2) da Size Classes'a bağlı olarak değişir. Çoklu görev modu değiştiğinde her şey otomatik olarak güncellenir.

UISplitViewController: Üç Sütunlu Gezinme

UIKit, üç stille UISplitViewController sağlar: .doubleColumn (kenar çubuğu + ayrıntı), .tripleColumn (kenar çubuğu + birincil + ayrıntı) ve .single. iPadOS 16+'da, size class değiştiğinde splitViewController otomatik olarak stiller arasında geçiş yapar. Geliştirici her sütun için viewControllers ayarlar, UIKit görünürlüğü yönetir.

iPadOS için Framework'ler ve API'ler

iPadOS SDK, tüm iOS framework'lerinin yanı sıra yalnızca iPad'de bulunan API'leri içerir. Aşağıda önemli iPad'e özel yetenekler verilmiştir.

Sürükle ve Bırak

iPadOS, uygulamalar arasında ve bir uygulama içinde sürükle ve bırakmayı destekler. UIDragInteraction ve UIDropInteraction, metin, resim, dosya ve özel nesnelerin sürüklenmesine izin verir. Sürükle ve bırak, çoklu dokunmayla aynı anda çalışır: kullanıcı farklı parmaklarla birden çok öğeyi sürükleyebilir. SwiftUI'de .onDrag ve .onDrop değiştiricileri kullanılır.

Klavye Kısayolları

Bir klavye bağlandığında (Magic Keyboard, Smart Keyboard), UIKeyCommand kısayol eklemeye izin verir. iPadOS 17+'da, Cmd basılı tutulduğunda klavye kısayolları görüntülenir. Apple standart kombinasyonları desteklemeyi önerir: ⌘C (kopyala), ⌘V (yapıştır), ⌘F (bul), ⌘N (yeni belge).

Harici Monitörler

iPadOS 17+, 6K'ya kadar (Pro Display XDR) yerel çözünürlüğe sahip harici monitörleri destekler. Bir uygulama, ayrı bir oturum tanımlayıcısına sahip UIWindowScene aracılığıyla harici bir ekranda içerik görüntüleyebilir. Stage Manager, yeniden boyutlandırılabilir boyutlarla harici bir monitöre en fazla 4 pencere yerleştirmeye izin verir.

APIAmaçiOS'ta Mevcut
UISplitViewControllerÇok sütunlu gezinmeEvet
PencilKitApple Pencil çizimiHayır
UIDragInteractionSürükle ve bırakEvet (yalnızca uygulama içinde)
UIKeyCommandKlavye kısayollarıEvet (yalnızca harici klavye)
UISceneÇoklu pencere moduEvet (yalnızca iPad)
UIPencilInteractionApple Pencil çift dokunmaHayır
PDFKitPDF görüntüleme ve not almaEvet

iPad için Uygulama Optimizasyonu

iPadOS geliştirme, UI/UX, performans ve test konusunda özel bir yaklaşım gerektirir. iPhone'da affedilebilir hatalar, daha büyük ekran ve çoklu görev nedeniyle iPad'de kritik hale gelir.

Performans ve Bellek

iPad, 16 GB'a kadar birleşik belleğe sahip M serisi yongalar (M1, M2, M4) kullanır. Güçlü donanıma rağmen, Split View veya Slide Over'daki bir uygulama kaynakları başka bir uygulamayla paylaşır. Bellek baskısı iPhone'dan daha yüksektir. Görüntü sıkıştırma, koleksiyonların yavaş yüklenmesi ve Instruments Allocations aracılığıyla profilleme kullanın. 16 GB ile iPad Pro M4, masaüstü sınıfı uygulamaları (Final Cut Pro, Logic Pro) çalıştırabilir.

Klavye Öncelikli Tasarım

Çoğu iPad kullanıcısı harici klavye kullanır. Arayüz tamamen klavyeyle gezilebilir olmalıdır: alanlar arasında gezinmek için Sekme, seçili öğeyi etkinleştirmek için Boşluk, onaylamak için Enter. Full Keyboard Access için destek ekleyin — klavyeyle herhangi bir kullanıcı arayüzü öğesini kontrol etmeye izin veren bir sistem ayarı.

Gerçek Cihazlarda Test

iPad simülatörü, çoklu görev davranışını tam olarak yeniden üretmez. Farklı modlarda gerçek bir cihazda test edin: ağır bir uygulamayla (20 sekmeli Safari) Split View, 4 pencereli Stage Manager, hızlı uygulama değiştirmeli Slide Over. Senaryoyu kontrol edin: kullanıcı uygulamayı Slide Over'dan açar, Split View'a sürükler, boyutunu değiştirir, kapatır — uygulama çökmemelidir.

objective-c
// iPadOS'ta geçerli çoklu görev modunu kontrol etme
- (void)checkMultitaskingMode:(UIWindowScene *)scene {
    if (scene.traitCollection.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
        return;
    }

    BOOL isFullScreen = (scene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular &&
                              scene.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular);

    BOOL isSlideOver = (CGRectGetWidth(scene.coordinateSpace.bounds) == 320.0);

    if (scene.windows.first?.windowScene?.activationConditions.canBecomeFocused == YES) {
        NSLog(@"Stage Manager etkin");
    }

    if (isSlideOver) {
        NSLog(@"Slide Over modu");
    } else if (isFullScreen) {
        NSLog(@"Tam ekran modu");
    } else {
        NSLog(@"Split View modu");
    }
}

Sıkça Sorulan Sorular

iPadOS, iOS'tan nasıl farklıdır?

iPadOS, genişletilmiş çoklu göreve (Split View, Slide Over, Stage Manager), hover algılamalı Apple Pencil desteğine, indirme yöneticili masaüstü Safari'ye, yerel çözünürlüklü harici monitörlere ve USB-C aracılığıyla harici sürücülere erişim sağlayan Files dosya sistemine sahiptir.

Bir uygulamaya Split View desteğini nasıl eklerim?

Uygulama UISplitViewController kullanıyorsa Split View otomatik olarak desteklenir. Uygulama, size class değişikliklerini doğru şekilde ele almalıdır: kompakt moda geçerken ekran yığını için UINavigationController kullanın. Split View'ı açıkça reddetmek için Info.plist'te UIRequiresFullScreen = YES belirtin.

Apple Pencil'ı bir uygulamaya nasıl entegre ederim?

PencilKit kullanın: çizim yüzeyi için PKCanvasView ve araç seçimi için PKToolPicker. Özel kalem girişi işleme için — .hover türünde UIEvent ve çift dokunma için UIPencilInteraction. Apple Pencil Pro gecikmesi 9 ms, önceki nesil — 20 ms.

iPad'in ekran boyutları nelerdir?

iPad mini 8,3" (2266×1488), iPad Air 10,9" (2360×1640), iPad Pro 11" (2388×1668), iPad Pro 13" M4 (2752×2064). Uyarlama için Size Classes ve Auto Layout kullanın. Thunderbolt ile 6K'ya kadar harici monitörler. Stage Manager, 8 pencereye kadar (iPad'de 4 + harici monitörde 4) destekler.

iPadOS harici monitörleri destekliyor mu?

iPadOS 17+, USB-C/Thunderbolt ile 6K'ya kadar yerel çözünürlüğe sahip harici monitörleri destekler. Bir uygulama, kendi yaşam döngüsüne sahip ayrı bir UIWindowScene aracılığıyla harici bir monitörde içerik görüntüleyebilir. Stage Manager, harici bir monitörde en fazla 4 pencereyi destekler.

Özet

  • iPadOS, çoklu görev, Apple Pencil ve masaüstü Safari ile Apple'ın özel iPad işletim sistemidir
  • Çoklu görev Split View, Slide Over (320 pt) ve Stage Manager'ı (8 pencereye kadar) içerir
  • Apple Pencil, PencilKit aracılığıyla 9–20 ms gecikme ve hover API ile desteklenir
  • Uyarlanabilir kullanıcı arayüzü tüm modlar için Size Classes ve UISplitViewController kullanır
  • iPadOS SDK sürükle ve bırak, UIKeyCommand, harici 6K monitörler ve UIScene içerir
  • Stage Manager (M1+) isteğe bağlı boyutlarda örtüşen pencerelere izin verir
  • Test tüm çoklu görev modlarında gerçek cihazlarda zorunludur

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun