iPadOS: المفاهيم الأساسية، التطوير لأجهزة iPad وApple Pencil

المؤلف: IT Sectr نُشر: 2026-02-07 وقت القراءة: 12 دق

iPadOS هو نظام تشغيل Apple لأجهزة iPad، المنفصل عن iOS في عام 2019. يراعي تطوير iPad الإمكانيات الفريدة: تعدد المهام Split View وStage Manager، إدخال Apple Pencil بزمن استجابة منخفض وSafar

أهم النقاط

  • iPadOS — فرع من iOS مع تعدد مهام موسع ودعم Apple Pencil
  • تعدد المهام يشمل Split View وSlide Over وStage Manager والشاشات الخارجية
  • Apple Pencil — قلم بزمن استجابة 9–20 مللي ثانية، دعم PencilKit وhover API
  • تكييف الواجهة يستخدم Size Classes (regular/compact) وUISplitViewController
  • Safari على iPadOS يعمل في وضع سطح المكتب مع مدير التنزيلات

ما هو iPadOS؟

iPadOS هو نظام تشغيل Apple لأجهزة iPad، تم إصداره لأول مرة في عام 2019 كفرع من iOS (الإصدار 13). قبل ذلك، كان iPad يستخدم نفس iOS المستخدم في iPhone. سمح فصل iPadOS لـ Apple بتقديم ميزات خاصة بالشاشة الكبيرة: تعدد المهام وسفاري سطح المكتب والسحب والإفلات ودعم الشاشات الخارجية.

يحافظ iPadOS على التوافق الكامل مع تطبيقات iOS: أي تطبيق iPhone يعمل على iPad في وضع القياس. ومع ذلك، تتطلب تجربة المستخدم عالية الجودة تكييفًا: استخدام Size Classes وUISplitViewController ودعم اختصارات لوحة المفاتيح. وفقًا لـ Apple (WWDC 2025)، 80% من الوقت على iPad يقضيه المستخدمون في إصدارات محسنة للأجهزة اللوحية بدلاً من الإصدارات المقاسة.

تاريخ إصدارات iPadOS

قدم iPadOS 13 (2019) Slide Over وSplit View. أضاف iPadOS 14 (2020) Scribble لقلم Apple Pencil وواجهة مضغوطة. قدم iPadOS 15 (2021) Quick Note وتحسينات في تعدد المهام. جلب iPadOS 16 (2022) Stage Manager ودعم الشاشات الخارجية. أضاف iPadOS 17 (2023) الأدوات التفاعلية وتخصيص شاشة القفل.

إصدار iPadOSالسنةالابتكار الرئيسي
iPadOS 132019Slide Over وSplit View وسفاري سطح المكتب
iPadOS 142020Scribble لقلم Apple Pencil والمكالمات المضغوطة
iPadOS 152021Quick Note ومدير تعدد مهام محسّن
iPadOS 162022Stage Manager وشاشة خارجية 6K
iPadOS 172023الأدوات التفاعلية وشاشة القفل
iPadOS 182024آلة حاسبة Math Notes وSmart Script

هندسة iPadOS والاختلافات عن iOS

iPadOS يعتمد على نفس نواة XNU وDarwin مثل iOS، لكنه يستخدم واجهة UIKit معدلة مكيفة للنوافذ المتعددة وأحجام الشاشة المختلفة. الاختلاف المعماري الرئيسي هو دعم UIScene، الذي تم تقديمه في iOS 13.

UIScene ودورة حياة النوافذ

في iPadOS، كل نافذة (بما في ذلك نوافذ Split View) هي UISceneSession منفصلة بدورة حياة خاصة بها. بخلاف iPhone، حيث يحتوي التطبيق على UIWindowScene واحدة، يمكن لتطبيق واحد على iPad أن يحتوي على عدة UIScene (نوافذ متعددة وSlide Over وStage Manager). يدير SceneDelegate حالة كل نافذة بشكل مستقل.

swift
import UIKit
import SwiftUI

/// SceneDelegate لدعم النوافذ المتعددة على 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 }

        // إنشاء UISplitViewController للتنقل على الجهاز اللوحي
        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
    }

    // التكييف عند تغيير حجم النافذة (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")")
    }
}

UISplitViewController بنمط .tripleColumn يعرض ثلاثة أعمدة في وقت واحد: الشريط الجانبي (التنقل) والقائمة الأساسية (القائمة) والمحتوى (التفاصيل). عند الانتقال إلى الوضع المضغوط (Split View مع تطبيق آخر)، يقوم UIKit تلقائيًا بدمج الأعمدة في مكدس تنقل. لا يقوم المطور بإدارة هذا السلوك يدويًا — UIKit يكيّف التصميم من خلال traitCollection.

اختلافات إضافية عن iOS

iPadOS يوفر: دعم التخزين الخارجي عبر Files (USB-C/Thunderbolt)، وضع طرفية Safari مع فحص العناصر، اختصارات لوحة المفاتيح عبر UIKeyCommand، مدير تنزيلات النظام، السحب والإفلات بين التطبيقات وصورة داخل صورة مع نافذة قابلة لتغيير الحجم.

تعدد المهام على iPad: Split View وSlide Over وStage Manager

تعدد المهام هو ميزة رئيسية لـ iPadOS تميزه بشكل جوهري عن iOS. يمكن للمستخدم العمل في وقت واحد مع عدة تطبيقات على شاشة واحدة. يجب على المطور ضمان عمل التطبيق بشكل صحيح في أي وضع تعدد مهام.

Split View

يقسم Split View شاشة iPad بين تطبيقين بنسبة 50/50 أو 33/67. يحصل كل تطبيق على UISceneSession خاصة به مع ذاكرة ودورة حياة خاصتين به. عندما يكون عرض الشاشة أقل من 600 نقطة، يجبر UIKit التطبيق على الحجم الأفقي المضغوط. يجب على التطبيق التعامل مع هذا التغيير بشكل صحيح.

Slide Over

Slide Over هو نافذة عائمة فوق التطبيق النشط (عرض 320 نقطة). يتحول التطبيق في Slide Over إلى حجم أفقي مضغوط (.compact). من المهم تحسين الواجهة للشاشة الضيقة. في Slide Over، يمكن استدعاء التطبيق عن طريق السحب من الحافة اليمنى أو من خلال الإرساء. يمكن للمستخدم سحب Slide Over إلى Split View أو إغلاقه بالسحب لليمين.

Stage Manager

Stage Manager (iPadOS 16+ وM1 والأحدث) هو مدير نوافذ يسمح بإنشاء نوافذ متداخلة بأحجام عشوائية. يتم دعم ما يصل إلى 4 نوافذ على شاشة iPad وما يصل إلى 4 على شاشة خارجية (8 إجمالاً). تتلقى التطبيقات حدث UISceneWillConnectNotification لكل نافذة جديدة. يغير Stage Manager قواعد دورة الحياة: النافذة في الخلفية لا تتجمد بل تستمر في العمل بموارد محدودة.

الوضععدد النوافذحجم النافذةSize Class
ملء الشاشة1100% من الشاشةRegular
Split View 50/50250% من الشاشةRegular (iPad Pro 12.9) أو Compact
Split View 33/67233% / 67%Compact لـ 33%
Slide Over1 + عائم320 ptCompact
Stage Manager1–4عشوائييعتمد على الحجم

Apple Pencil والإدخال اليدوي

Apple Pencil هو القلم النشط من Apple مع دعم الإمالة والضغط واكتشاف القرب (iPad Pro M2+). زمن الاستجابة بين حركة القلم وعرض الحبر هو 9–20 مللي ثانية حسب الطراز. PencilKit هو الإطار الرئيسي لدمج الرسم في التطبيق.

PencilKit: دمج الرسم

PKCanvasView يوفر سطح رسم جاهز مع دعم الحبر والقلم والعلامة والممحاة. PKToolPicker هو لوحة اختيار الأدوات. لا يحتاج المطور إلى تنفيذ عرض الخطوط — PencilKit يقوم بذلك عبر الأجهزة باستخدام Metal shaders. يتوفر تخصيص اللون والسمك والشفافية للقلم.

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

    // حفظ الرسم في PKDrawing (تنسيق ثنائي)
    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 مع drawingPolicy .anyInput يقبل كلاً من Apple Pencil والإصبع. PKToolPicker يمنح المستخدم اختيار الأدوات دون الحاجة إلى كتابة واجهة مخصصة. PKDrawing يُخزن في تنسيق ثنائي بضغط عالٍ — ساعة رسم تستهلك حوالي 5–10 ميجابايت.

Scribble والتعرف على النص

Scribble (iPadOS 14+) يسمح بالكتابة اليدوية في أي UITextField وUITextView. يتعرف النظام على الكتابة اليدوية على الجهاز باستخدام Neural Engine. نموذج التعلم الآلي يعمل مع الحروف اللاتينية والسيريلية. في iOS 17+، يدعم Scribble التصحيح التلقائي والتنبؤ بالكلمة التالية. لا يحتاج المطور إلى إضافة كود — Scribble يعمل تلقائيًا مع أي حقل إدخال.

Hover API لقلم Apple Pencil Pro

بدءًا من iPadOS 17.4 وApple Pencil Pro، يحصل المطورون على أحداث hover عندما يقترب القلم من الشاشة (حتى 12 مم). يحتوي الحدث على الموضع والقوة والسمت. التطبيقات: معاينة نقطة ملامسة الفرشاة في تطبيقات الرسم، معاينة الأداة، ردود فعل بصرية قبل اللمس.

تكييف الواجهة لأجهزة iPad

الواجهة المتكيفة هي متطلب إلزامي لتطبيقات iPad. يعمل iPad بأحجام شاشة مختلفة (8.3"–13") وأوضاع تعدد مهام. يوفر UIKit Size Classes (أفقي: .regular/.compact، عمودي: .regular/.compact) وUISplitViewController للتكييف التلقائي.

Size Classes وtraitCollection

Size Classes هي تجريد يحدد المساحة المتاحة. على iPad في وضع ملء الشاشة، كلا المحورين .regular. في Split View (50%)، يمكن أن يصبح الحجم الأفقي .compact على iPad mini أو iPad Air. جميع التخطيطات الشائعة المبنية على Auto Layout وUICollectionViewCompositionalLayout تتكيف تلقائيًا. يتم التكييف المخصص عن طريق تجاوز traitCollectionDidChange.

swift
import SwiftUI

/// تخطيط متكيف لـ iPad باستخدام Size Classes
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // وضع الجهاز اللوحي: شريط جانبي + محتوى
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // الوضع المضغوط: تنقل مكدس
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// مثال شبكة متكيفة: 3 أعمدة على iPad و2 على 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()
        }
    }
}

في المثال، NavigationSplitView يُستخدم فقط عندما horizontalSizeClass == .regular (iPad ملء الشاشة). NavigationStack يُستخدم في الوضع المضغوط. عدد أعمدة الشبكة (3 مقابل 2) يتغير أيضًا حسب Size Classes. كل شيء يتحدّث تلقائيًا عند تغيير وضع تعدد المهام.

UISplitViewController: تنقل ثلاثي الأعمدة

UIKit يوفر UISplitViewController بثلاثة أنماط: .doubleColumn (شريط جانبي + تفاصيل) و.tripleColumn (شريط جانبي + رئيسي + تفاصيل) و.single. في iPadOS 16+، يتحول splitViewController تلقائيًا بين الأنماط عند تغيير size class. يحدد المطور viewControllers لكل عمود، وUIKit يدير الرؤية.

الأطر وواجهات API لـ iPadOS

iPadOS SDK يشمل جميع أطر iOS بالإضافة إلى واجهات API المتاحة فقط على iPad. فيما يلي الإمكانيات الرئيسية الخاصة بـ iPad.

السحب والإفلات

iPadOS يدعم السحب والإفلات بين التطبيقات وداخل التطبيق. UIDragInteraction وUIDropInteraction يسمحان بسحب النصوص والصور والملفات والكائنات المخصصة. يعمل السحب والإفلات بالتزامن مع اللمس المتعدد: يمكن للمستخدم سحب عدة عناصر بأصابع مختلفة. في SwiftUI، تُستخدم معدّلات .onDrag و.onDrop.

اختصارات لوحة المفاتيح

عند توصيل لوحة مفاتيح (Magic Keyboard أو Smart Keyboard)، UIKeyCommand يسمح بإضافة اختصارات. في iPadOS 17+، تظهر اختصارات لوحة المفاتيح عند الضغط المطول على Cmd. توصي Apple بدعم المجموعات القياسية: ⌘C (نسخ) و⌘V (لصق) و⌘F (بحث) و⌘N (مستند جديد).

الشاشات الخارجية

iPadOS 17+ يدعم الشاشات الخارجية بدقة أصلية تصل إلى 6K (Pro Display XDR). يمكن للتطبيق عرض المحتوى على شاشة خارجية من خلال UIWindowScene بمعرف جلسة منفصل. يتيح Stage Manager وضع ما يصل إلى 4 نوافذ على شاشة خارجية بأبعاد قابلة للتغيير.

APIالغرضمتوفر في iOS
UISplitViewControllerتنقل متعدد الأعمدةنعم
PencilKitالرسم بقلم Apple Pencilلا
UIDragInteractionالسحب والإفلاتنعم (داخل التطبيق فقط)
UIKeyCommandاختصارات لوحة المفاتيحنعم (بلوحة مفاتيح خارجية فقط)
UISceneوضع النوافذ المتعددةنعم (iPad فقط)
UIPencilInteractionالنقر المزدوج لقلم Apple Pencilلا
PDFKitعرض وتعليقات PDFنعم

تحسين التطبيقات لأجهزة iPad

التطوير لـ iPadOS يتطلب نهجًا خاصًا في UI/UX والأداء والاختبار. الأخطاء التي تغتفر على iPhone تصبح حرجة على iPad بسبب الشاشة الأكبر وتعدد المهام.

الأداء والذاكرة

iPad يستخدم رقائق سلسلة M (M1 وM2 وM4) بذاكرة موحدة تصل إلى 16 جيجابايت. على الرغم من الأجهزة القوية، التطبيق في Split View أو Slide Over يشارك الموارد مع تطبيق آخر. ضغط الذاكرة أعلى من iPhone. استخدم ضغط الصور والتحميل البطيء للمجموعات والتنميط عبر Instruments Allocations. iPad Pro M4 بسعة 16 جيجابايت يسمح بتشغيل تطبيقات بمستوى سطح المكتب (Final Cut Pro وLogic Pro).

تصميم Keyboard First

معظم مستخدمي iPad يستخدمون لوحة مفاتيح خارجية. يجب أن تكون الواجهة قابلة للتنقل بالكامل عبر لوحة المفاتيح: Tab للتنقل بين الحقول وSpace لتنشيط العنصر المحدد وEnter للتأكيد. أضف دعم Full Keyboard Access — إعداد نظام يسمح بالتحكم في أي عنصر واجهة باستخدام لوحة المفاتيح.

الاختبار على الأجهزة الحقيقية

محاكي iPad لا يعيد إنتاج سلوك تعدد المهام بشكل كامل. اختبر على جهاز حقيقي في أوضاع مختلفة: Split View مع تطبيق ثقيل (Safari مع 20 علامة تبويب) وStage Manager مع 4 نوافذ وSlide Over مع التبديل السريع للتطبيقات. تحقق من السيناريو: يفتح المستخدم التطبيق من Slide Over ويسحبه إلى Split View ويغير الحجم ويغلقه — يجب ألا يتعطل التطبيق.

objective-c
// التحقق من وضع تعدد المهام الحالي على 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 نشط");
    }

    if (isSlideOver) {
        NSLog(@"وضع Slide Over");
    } else if (isFullScreen) {
        NSLog(@"وضع ملء الشاشة");
    } else {
        NSLog(@"وضع Split View");
    }
}

الأسئلة الشائعة

كيف يختلف iPadOS عن iOS؟

iPadOS لديه تعدد مهام موسع (Split View وSlide Over وStage Manager) ودعم Apple Pencil مع اكتشاف القرب وسفاري سطح المكتب مع مدير التنزيلات وشاشات خارجية بدقة أصلية ونظام ملفات Files مع الوصول إلى محركات الأقراص الخارجية عبر USB-C.

كيف أضيف دعم Split View إلى التطبيق؟

Split View مدعوم تلقائيًا إذا كان التطبيق يستخدم UISplitViewController. يجب على التطبيق التعامل بشكل صحيح مع تغييرات size class: عند الانتقال إلى الوضع المضغوط استخدم UINavigationController لمكدس الشاشات. للرفض الصريح لـ Split View حدد UIRequiresFullScreen = YES في Info.plist.

كيف أدمج Apple Pencil في التطبيق؟

استخدم PencilKit: PKCanvasView لسطح الرسم وPKToolPicker لاختيار الأدوات. للمعالجة المخصصة لإدخال القلم — UIEvent بنوع .hover وUIPencilInteraction للنقر المزدوج. زمن استجابة Apple Pencil Pro هو 9 مللي ثانية والجيل السابق 20 مللي ثانية.

ما هي أحجام شاشة iPad؟

iPad mini 8.3" (2266×1488) وiPad Air 10.9" (2360×1640) وiPad Pro 11" (2388×1668) وiPad Pro 13" M4 (2752×2064). استخدم Size Classes وAuto Layout للتكييف. شاشات خارجية حتى 6K عبر Thunderbolt. Stage Manager يدعم حتى 8 نوافذ (4 على iPad + 4 على شاشة خارجية).

هل iPadOS يدعم الشاشات الخارجية؟

iPadOS 17+ يدعم الشاشات الخارجية عبر USB-C/Thunderbolt بدقة أصلية تصل إلى 6K. يمكن للتطبيق عرض المحتوى على شاشة خارجية من خلال UIWindowScene منفصل بدورة حياة خاصة به. Stage Manager يدعم حتى 4 نوافذ على شاشة خارجية.

الخلاصة

  • iPadOS هو نظام تشغيل Apple المخصص لـ iPad مع تعدد المهام وApple Pencil وسفاري سطح المكتب
  • تعدد المهام يشمل Split View وSlide Over (320 نقطة) وStage Manager (حتى 8 نوافذ)
  • Apple Pencil مدعوم عبر PencilKit بزمن استجابة 9–20 مللي ثانية وhover API
  • الواجهة المتكيفة تستخدم Size Classes وUISplitViewController لجميع الأوضاع
  • iPadOS SDK يشمل السحب والإفلات وUIKeyCommand والشاشات الخارجية 6K وUIScene
  • Stage Manager (M1+) يسمح بنوافذ متداخلة بأحجام عشوائية
  • الاختبار إلزامي على الأجهزة الحقيقية في جميع أوضاع تعدد المهام

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا