مراقبة تطبيقات Swift: مكتبات لنظامي iOS وmacOS

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مراقبة تطبيقات Swift (iOS/macOS): المكتبات والأدوات الرئيسية



التطوير الحديث لنظامي iOS وmacOS لا يتطلب فقط إنشاء كود وظيفي، بل أيضًا مراقبة مستمرة للأداء والاستقرار وسلوك التطبيق في الظروف الحقيقية. تشمل مراقبة تطبيقات Swift جمع المقاييس، تحليل الأخطاء، تتبع الأعطال، تنميط الذاكرة ووحدة المعالجة المركزية، بالإضافة إلى التسجيل. في هذه المقالة، سنستعرض المكتبات والأدوات الرئيسية لمراقبة مشاريع Swift التي ستساعدك في الحفاظ على جودة عالية للتطبيقات.



1. Firebase Crashlytics — الرائد بين أدوات تتبع الأعطال



Firebase Crashlytics هي أداة قوية ومجانية لجمع معلومات عن الأعطال في التطبيقات. تقوم تلقائيًا بجمع مكدسات الاستدعاءات والسجلات والبيانات المخصصة، مما يسمح بالعثور السريع على الأخطاء الحرجة وإصلاحها.



التوصيل عبر Swift Package Manager:

// في Xcode: File → Add Packages → ابحث عن "firebase-ios-sdk"// نقوم بتوصيل الوحدة: FirebaseCrashlytics


مثال على الإعداد في AppDelegate:

import FirebaseCoreimport FirebaseCrashlytics

@mainclass AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() // جمع الأعطال التلقائي مفعل افتراضيًا return true }}


إضافة سجلات مخصصة:

Crashlytics.crashlytics().log("المستخدم ضغط على زر 'شراء'")Crashlytics.crashlytics().setUserID("user_12345")


2. MetricsKit — جمع المقاييس المدمج من Apple



بدءًا من iOS 13 وmacOS 10.15، قدمت Apple إطار MetricsKit لجمع مقاييس الأداء المجهولة. يتم إرسال البيانات تلقائيًا إلى App Store Connect وتكون متاحة للمطور في قسم "التحليلات".



الإمكانيات الرئيسية:

  • جمع وقت بدء تشغيل التطبيق (Cold Start، Warm Start)
  • تتبع استخدام الذاكرة ووحدة المعالجة المركزية
  • مقاييس استهلاك الطاقة
  • إحصائيات الأعطال والتجميد


مثال على تفعيل المقاييس المخصصة:

import MetricKit

class MetricsManager: NSObject, MXMetricManagerSubscriber { override init() { super.init() MXMetricManager.shared.add(self) } func didReceive(_ payloads: [MXMetricPayload]) { for payload in payloads { if let cpuMetrics = payload.cpuMetrics { print("CPU: \\(cpuMetrics.cumulativeCPUTime)") } } }}


3. SwiftMetrics (IBM) — مراقبة تطبيقات Swift الخادمة



إذا كان تطبيقك يستخدم Swift الخادم (مثل Vapor أو Kitura)، فإن SwiftMetrics من IBM هو خيار ممتاز لمراقبة الأداء وطلبات HTTP وموارد النظام.



التثبيت عبر Package.swift:

// swift-tools-version:5.7dependencies: [    .package(url: "https://github.com/RuntimeTools/SwiftMetrics.git", from: "2.0.0")]


مثال على التهيئة:

import SwiftMetricsimport SwiftMetricsKitura

let sm = try SwiftMetrics()let monitoring = SwiftMetricsKitura(swiftMetricsInstance: sm)sm.monitor() // بدء المراقبة


المقاييس متاحة عبر REST API أو Prometheus.



4. Xcode Instruments — التنميط على مستوى بيئة التطوير المتكاملة



Xcode Instruments ليست مكتبة، بل أداة مدمجة للتنميط العميق. تتيح لك تحليل:

  • تسرب الذاكرة (Leaks)
  • استخدام وحدة المعالجة المركزية (Time Profiler)
  • طلبات الشبكة (Network)
  • العمل مع Core Data (Core Data)
  • الرسوم المتحركة والعرض (Core Animation)


التشغيل

توصيات