iPadOS: mga pangunahing konsepto, pag-develop para sa iPad at Apple Pencil

May-akda: IT Sectr Nai-publish: 2026-02-07 Oras ng pagbabasa: 12 min

iPadOS — operating system ng Apple para sa iPad, nahiwalay mula sa iOS noong 2019. Ang pag-develop para sa iPad ay isinasaalang-alang ang mga natatanging kakayahan: multitasking Split View at Stage Manager, Apple Pencil input na may mababang latency at desktop Safari.

Mga Pangunahing

  • iPadOS — isang fork ng iOS na may pinahusay na multitasking at suporta sa Apple Pencil
  • Multitasking ay kinabibilangan ng Split View, Slide Over, Stage Manager at mga external na monitor
  • Apple Pencil — stylus na may 9–20 ms latency, suporta sa PencilKit at hover API
  • Pag-adapt ng interface ay gumagamit ng Size Classes (regular/compact) at UISplitViewController
  • Safari sa iPadOS ay gumagana sa desktop mode na may download manager

Ano ang iPadOS?

iPadOS — operating system ng Apple para sa iPad, unang inilabas noong 2019 bilang isang sangay ng iOS (bersyon 13). Bago ito, ang iPad ay gumagamit ng parehong iOS tulad ng iPhone. Ang paghihiwalay ng iPadOS ay nagbigay-daan sa Apple na magpatupad ng mga feature na partikular sa malaking screen: multitasking, desktop Safari, Drag & Drop at suporta sa mga external na monitor.

Ang iPadOS ay nagpapanatili ng buong compatibility sa mga iOS app: anumang iPhone app ay tumatakbo sa iPad sa scaling mode. Gayunpaman, para sa kalidad na karanasan ng user, kinakailangan ang pag-adapt: paggamit ng Size Classes, UISplitViewController at suporta sa mga keyboard shortcut. Ayon sa Apple (WWDC 2025), 80% ng oras sa iPad ay ginugugol ng mga user sa mga tablet na bersyon, hindi sa mga naka-scale na bersyon.

Kasaysayan ng mga bersyon ng iPadOS

Ang iPadOS 13 (2019) ay nagdala ng Slide Over at Split View. Ang iPadOS 14 (2020) ay nagdagdag ng Apple Pencil Scribble at compact UI. Ang iPadOS 15 (2021) ay nagpakilala ng Quick Note at mga pagpapabuti sa multitasking. Ang iPadOS 16 (2022) ay nagpakilala ng Stage Manager at suporta sa external na monitor. Ang iPadOS 17 (2023) ay nagdagdag ng mga interactive na widget at Lock Screen customization.

Bersyon ng iPadOSTaonPangunahing Inobasyon
iPadOS 132019Slide Over, Split View, desktop Safari
iPadOS 142020Scribble para sa Apple Pencil, compact na tawag
iPadOS 152021Quick Note, pinahusay na multitasking manager
iPadOS 162022Stage Manager, external na monitor 6K
iPadOS 172023Mga interactive na widget, Lock Screen
iPadOS 182024Math Notes calculator, Smart Script

Arkitektura ng iPadOS at pagkakaiba sa iOS

iPadOS ay batay sa parehong XNU kernel at Darwin tulad ng iOS, ngunit gumagamit ng binagong UIKit shell, na inangkop para sa pagtatrabaho sa maraming window at arbitrary na laki ng screen. Ang pangunahing pagkakaiba sa arkitektura — suporta para sa UIScene, na ipinakilala sa iOS 13.

UIScene at lifecycle ng mga window

Sa iPadOS, ang bawat window (kabilang sa Split View) ay isang hiwalay na UISceneSession na may sariling lifecycle. Hindi tulad ng iPhone, kung saan ang isang app ay may isang UIWindowScene, sa iPad ang isang app ay maaaring magkaroon ng maraming UIScene (maraming window, Slide Over, Stage Manager). Ang SceneDelegate ay namamahala sa estado ng bawat window nang nakapag-iisa.

swift
import UIKit
import SwiftUI

/// SceneDelegate para sa suporta ng maraming window sa iPadOS
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 }

        // Lumikha ng UISplitViewController para sa tablet navigation
        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
    }

    // Pag-adapt kapag nagbago ang laki ng window (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")")
    }
}

Ang UISplitViewController na may .tripleColumn style ay nagpapakita ng tatlong column nang sabay: sidebar (navigation), primary (listahan) at detail (nilalaman). Sa paglipat sa compact mode (Split View na may ibang app) awtomatikong tinutuping ng UIKit ang mga column sa isang navigation stack. Ang developer ay hindi namamahala nito nang manu-mano — ina-adapt ng UIKit ang layout sa pamamagitan ng traitCollection.

Mga karagdagang pagkakaiba mula sa iOS

Sa iPadOS ay available: suporta para sa mga external na drive sa pamamagitan ng Files (USB-C/Thunderbolt), terminal mode ng Safari na may element inspection, keyboard shortcut sa pamamagitan ng UIKeyCommand, system download manager, Drag & Drop sa pagitan ng mga app at Picture in Picture na may nababagong laki ng window.

Multitasking sa iPad: Split View, Slide Over, Stage Manager

Multitasking — pangunahing feature ng iPadOS na nagpapakilala nito nang malaki mula sa iOS. Ang user ay maaaring magtrabaho nang sabay sa maraming app sa isang screen. Ang developer ay dapat tiyakin na ang app ay gumagana nang tama sa anumang multitasking mode.

Split View

Hinahati ng Split View ang screen ng iPad sa pagitan ng dalawang app sa ratio na 50/50 o 33/67. Ang bawat app ay tumatanggap ng sarili nitong UISceneSession na may sariling memory at lifecycle. Sa lapad ng screen na mas mababa sa 600 puntos, pinipilit ng UIKit na ilipat ang app sa compact horizontal size class. Dapat na maayos na pangasiwaan ng app ang pagbabagong ito.

Slide Over

Slide Over — lumulutang na window sa ibabaw ng aktibong app (lapad 320 puntos). Ang app sa Slide Over ay lumilipat sa compact horizontal size class (.compact). Mahalagang i-optimize ang UI para sa makitid na screen. Sa Slide Over, ang app ay maaaring tawagin sa pamamagitan ng pag-swipe mula sa kanang gilid o sa pamamagitan ng dock. Maaaring i-drag ng user ang Slide Over sa Split View o isara ito sa pamamagitan ng pag-swipe pakanan.

Stage Manager

Stage Manager (iPadOS 16+, M1 at mas bago) — isang window manager na nagbibigay-daan sa paglikha ng mga overlapping na window ng arbitrary na laki. Sumusuporta sa hanggang 4 na window sa screen ng iPad at hanggang 4 sa external na monitor (kabuuang 8). Ang mga app ay tumatanggap ng kaganapang UISceneWillConnectNotification para sa bawat bagong window. Binabago ng Stage Manager ang mga panuntunan sa lifecycle: ang window sa background ay hindi na-freeze, ngunit patuloy na gumagana na may limitadong resources.

ModeBilang ng windowLaki ng windowSize Class
Buong screen1100% screenRegular
Split View 50/50250% screenRegular (iPad Pro 12.9) o Compact
Split View 33/67233% / 67%Compact para sa 33%
Slide Over1 + lumulutang320 ptCompact
Stage Manager1–4ArbitraryDepende sa laki

Apple Pencil at handwriting input

Apple Pencil — aktibong stylus ng Apple na may suporta sa pagkiling, presyon at hover detection (iPad Pro M2+). Ang latency sa pagitan ng paggalaw ng panulat at pagpapakita ng tinta ay 9–20 ms depende sa modelo. Ang PencilKit — pangunahing framework para sa pagsasama ng pagguhit sa isang app.

PencilKit: integrasyon ng pagguhit

PKCanvasView ay nagbibigay ng handa na surface para sa pagguhit na may suporta sa tinta, lapis, marker at pambura. PKToolPicker — panel para sa pagpili ng tool. Ang developer ay hindi kailangang magpatupad ng rendering ng mga stroke — ginagawa ito ng PencilKit nang hardware gamit ang Metal shaders. Available ang pag-set ng kulay, kapal at transparency ng panulat.

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)
    }

    // Pag-save ng drawing sa PKDrawing (binary format)
    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")
    }
}

PKCanvasView na may drawingPolicy .anyInput ay tumatanggap ng parehong Apple Pencil at daliri. Ang PKToolPicker ay nagbibigay sa user ng pagpili ng mga tool nang hindi kinakailangang magsulat ng sariling UI. Ang PKDrawing ay iniimbak sa binary format na may mataas na antas ng compression — isang oras ng pagguhit ay tumatagal ng mga 5–10 MB.

Scribble at pagkilala ng teksto

Scribble (iPadOS 14+) ay nagbibigay-daan sa pagsusulat ng kamay sa anumang UITextField at UITextView. Kinikilala ng system ang sulat-kamay sa device gamit ang Neural Engine. Ang ML model ay gumagana sa Latin at Cyrillic script. Sa iOS 17+, sinusuportahan ng Scribble ang auto-correction at pag-predict ng susunod na salita. Ang developer ay hindi kailangang magdagdag ng code — awtomatikong gumagana ang Scribble kapag may input field.

Hover API para sa Apple Pencil Pro

Mula sa iPadOS 17.4 at Apple Pencil Pro, ang mga developer ay tumatanggap ng mga hover event kapag lumalapit ang panulat sa screen (hanggang 12 mm). Ang event ay naglalaman ng posisyon, lakas ng presyon at azimuth. Application: preview ng touch point ng brush sa drawing apps, preview ng tool, visual feedback bago ang pagpindot.

Pag-adapt ng interface para sa iPad

Adaptive interface — isang mandatoryong kinakailangan para sa mga iPad app. Ang iPad ay gumagana sa iba't ibang laki ng screen (8.3″–13″) at multitasking mode. Ang UIKit ay nagbibigay ng Size Classes (horizontal: .regular/.compact, vertical: .regular/.compact) at UISplitViewController para sa awtomatikong pag-adapt.

Size Classes at traitCollection

Size Classes — isang abstraction na tumutukoy sa available na espasyo. Sa iPad sa full screen mode, parehong axis ay .regular. Sa Split View (50%), ang horizontal class ay maaaring maging .compact sa iPad mini o iPad Air. Lahat ng sikat na layout na binuo sa Auto Layout at UICollectionViewCompositionalLayout ay awtomatikong uma-adapt. Ang custom na pag-adapt ay ginagawa sa pamamagitan ng pag-override ng traitCollectionDidChange.

swift
import SwiftUI

/// Adaptive layout para sa iPad gamit ang Size Classes
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // Tablet mode: sidebar + content
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // Compact mode: stack navigation
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// Halimbawa ng adaptive grid: 3 column sa iPad, 2 sa iPhone
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()
        }
    }
}

Sa halimbawa, ang NavigationSplitView ay ginagamit lamang kapag horizontalSizeClass == .regular (iPad full screen). Ang NavigationStack ay inilalapat sa compact mode. Ang bilang ng mga column ng grid (3 vs 2) ay nagbabago rin depende sa Size Classes. Lahat ay awtomatikong nag-a-update kapag nagbago ang multitasking mode.

UISplitViewController: three-column navigation

Ang UIKit ay nagbibigay ng UISplitViewController na may tatlong style: .doubleColumn (sidebar + detail), .tripleColumn (sidebar + primary + detail) at .single. Sa iPadOS 16+, ang splitViewController ay awtomatikong lumilipat sa pagitan ng mga style kapag nagbago ang size class. Itinatakda ng developer ang viewControllers para sa bawat column, pinamahalaan ng UIKit ang visibility.

Mga Framework at API para sa iPadOS

iPadOS SDK ay kinabibilangan ng lahat ng iOS framework pati na rin ang mga API na available lamang sa iPad. Nasa ibaba ang mga pangunahing kakayahan na tiyak sa iPad.

Drag & Drop

Sinusuportahan ng iPadOS ang Drag & Drop sa pagitan ng mga app at sa loob ng app. Ang UIDragInteraction at UIDropInteraction ay nagbibigay-daan sa pag-drag ng text, mga imahe, file at custom na object. Ang Drag & Drop ay gumagana nang sabay sa Multi-Touch: ang user ay maaaring mag-drag ng maraming elemento gamit ang iba't ibang daliri. Sa SwiftUI, ginagamit ang .onDrag at .onDrop modifiers.

Mga keyboard shortcut

Kapag nagkokonekta ng keyboard (Magic Keyboard, Smart Keyboard) ang UIKeyCommand ay nagbibigay-daan sa pagdagdag ng mga shortcut. Sa iPadOS 17+, ang mga keyboard shortcut ay ipinapakita sa matagal na pagpindot ng Cmd. Inirerekomenda ng Apple na suportahan ang mga karaniwang kumbinasyon: ⌘C (kopyahin), ⌘V (i-paste), ⌘F (hanapin), ⌘N (bagong dokumento).

Mga external na monitor

Sinusuportahan ng iPadOS 17+ ang mga external na monitor na may native na resolution hanggang 6K (Pro Display XDR). Ang app ay maaaring magpakita ng content sa external na screen sa pamamagitan ng UIWindowScene na may hiwalay na session ID. Ang Stage Manager ay nagbibigay-daan sa paglalagay ng hanggang 4 na window na may nababagong laki sa external na monitor.

APILayuninAvailable sa iOS
UISplitViewControllerMulti-column navigationOo
PencilKitPagguhit Apple PencilHindi
UIDragInteractionDrag & DropOo (sa loob lamang ng app)
UIKeyCommandMga keyboard shortcutOo (lamang sa external na keyboard)
UISceneMulti-window modeOo (iPad lamang)
UIPencilInteractionDouble tap Apple PencilHindi
PDFKitPagtingin at annotation PDFOo

Pag-optimize ng mga app para sa iPad

Ang pag-develop para sa iPadOS ay nangangailangan ng espesyal na diskarte sa UI/UX, performance at pagsubok. Ang mga pagkakamali na mapapatawad sa iPhone ay nagiging kritikal sa iPad dahil sa mas malaking screen at multitasking.

Performance at memory

Ang iPad ay gumagamit ng M-series chips (M1, M2, M4) na may unified memory hanggang 16 GB. Sa kabila ng malakas na hardware, ang app sa Split View o Slide Over ay nagbabahagi ng resources sa ibang app. Presyon ng memorya ay mas mataas kaysa sa iPhone. Gumamit ng image compression, lazy loading ng collections at profiling sa pamamagitan ng Instruments Allocations. Ang iPad Pro M4 na may 16 GB ay nagbibigay-daan sa pagpapatakbo ng mga app sa antas ng desktop (Final Cut Pro, Logic Pro).

Keyboard First na disenyo

Karamihan ng mga user ng iPad ay gumagamit ng external na keyboard. Ang interface ay dapat na ganap na kontrolado mula sa keyboard: Tab para sa navigation sa pagitan ng fields, Space para i-activate ang napiling elemento, Enter para kumpirmahin. Magdagdag ng suporta para sa Full Keyboard Access — system setting na nagbibigay-daan sa pagkontrol ng anumang UI element mula sa keyboard.

Pagsubok sa mga totoong device

Ang iPad simulator ay hindi ganap na nauulit ang gawi ng multitasking. Subukan sa totoong device sa iba't ibang mode: Split View na may mabigat na app (Safari na may 20 tab), Stage Manager na may 4 na window, Slide Over na may mabilis na pagpapalit ng app. Suriin ang scenario: bubuksan ng user ang app mula sa Slide Over, i-drag ito sa Split View, baguhin ang laki, isara — ang app ay hindi dapat mag-crash.

objective-c
// Pagsusuri ng kasalukuyang multitasking mode sa iPadOS
- (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 ay aktibo");
    }

    if (isSlideOver) {
        NSLog(@"Slide Over mode");
    } else if (isFullScreen) {
        NSLog(@"Full screen mode");
    } else {
        NSLog(@"Split View mode");
    }
}

Mga Madalas Itanong

Ano ang pagkakaiba ng iPadOS sa iOS?

Ang iPadOS ay may pinahusay na multitasking (Split View, Slide Over, Stage Manager), suporta sa Apple Pencil na may hover detection, desktop Safari na may download manager, mga external na monitor na may native na resolution at Files file system na may access sa external na drive sa pamamagitan ng USB-C.

Paano magdagdag ng suporta sa Split View sa isang app?

Ang Split View ay awtomatikong sinusuportahan kung ang app ay gumagamit ng UISplitViewController. Dapat na maayos na pangasiwaan ng app ang mga pagbabago sa size class: sa paglipat sa compact mode, gamitin ang UINavigationController para sa stack ng mga screen. Para sa tahasang pagtanggi sa Split View, itakda ang UIRequiresFullScreen = YES sa Info.plist.

Paano isama ang Apple Pencil sa isang app?

Gumamit ng PencilKit: PKCanvasView para sa drawing surface at PKToolPicker para sa pagpili ng tool. Para sa custom na paghawak ng pagpindot ng panulat — UIEvent na may .hover type at UIPencilInteraction para sa double tap. Latency ng Apple Pencil Pro — 9 ms, nakaraang henerasyon — 20 ms.

Ano ang mga laki ng screen ng iPad?

iPad mini 8.3″ (2266×1488), iPad Air 10.9″ (2360×1640), iPad Pro 11″ (2388×1668), iPad Pro 13″ M4 (2752×2064). Gumamit ng Size Classes at Auto Layout para sa pag-adapt. Mga external na monitor hanggang 6K sa pamamagitan ng Thunderbolt. Sinusuportahan ng Stage Manager ang hanggang 8 window (4 sa iPad + 4 sa external na monitor).

Sinusuportahan ba ng iPadOS ang mga external na monitor?

Sinusuportahan ng iPadOS 17+ ang mga external na monitor sa pamamagitan ng USB-C/Thunderbolt na may native na resolution hanggang 6K. Ang app ay maaaring magpakita ng content sa external na monitor sa pamamagitan ng hiwalay na UIWindowScene na may sariling lifecycle. Sinusuportahan ng Stage Manager ang hanggang 4 na window sa external na monitor.

Buod

  • iPadOS — dedicated na OS ng Apple para sa iPad na may multitasking, Apple Pencil at desktop Safari
  • Multitasking ay kinabibilangan ng Split View, Slide Over (320 pt) at Stage Manager (hanggang 8 window)
  • Apple Pencil ay sinusuportahan sa pamamagitan ng PencilKit na may 9–20 ms latency at hover API
  • Adaptive UI ay gumagamit ng Size Classes at UISplitViewController para sa lahat ng mode
  • iPadOS SDK ay kinabibilangan ng Drag & Drop, UIKeyCommand, mga external na monitor 6K at UIScene
  • Stage Manager (M1+) ay nagbibigay-daan sa mga overlapping na window ng arbitrary na laki
  • Pagsubok ay sapilitan sa mga totoong device sa lahat ng multitasking mode

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din