تسجيل الدخول لـ Swift (iOS/macOS): أفضل الحلول
تسجيل الدخول هو جزء لا يتجزأ من تطوير أي تطبيق. بالنسبة لـ Swift (iOS/macOS)، توجد العديد من الأدوات التي تتيح تتبع الأخطاء بكفاءة، وتصحيح الكود، وتحليل سلوك التطبيق. في هذه المقالة، سنستعرض أفضل المكتبات والحلول المدمجة لتسجيل الدخول، وميزاتها، ومزاياها، وأمثلة على استخدامها.
لماذا نحتاج إلى تسجيل الدخول في Swift؟
يساعد تسجيل الدخول المطورين على:
- تتبع تنفيذ الكود في الوقت الفعلي.
- اكتشاف الأخطاء وإصلاحها في المراحل المبكرة.
- تحليل أداء التطبيق.
- جمع البيانات للتدقيق اللاحق.
الحل المدمج: OSLog (التسجيل الموحد)
بدءًا من iOS 10 وmacOS Sierra، قدمت Apple OSLog - نظام تسجيل دخول قوي مدمج في أنظمة التشغيل. يوفر أداءً عاليًا وأمانًا.
مثال على استخدام OSLog
import os.log
let log = OSLog(subsystem: "com.example.app", category: "network")os_log("تم إرسال الطلب: %@", log: log, type: .info, "https://api.example.com")
// للأخطاءos_log("خطأ في الاتصال: %@", log: log, type: .error, error.localizedDescription)مزايا OSLog:
- لا يتطلب تثبيت مكتبات خارجية.
- يعمل على مستوى النظام، ويدعم التصفية في تطبيق Console.
- يقوم بتشفير البيانات تلقائيًا في وضع الإنتاج.
SwiftyBeaver - مسجل عبر المنصات
SwiftyBeaver هي واحدة من أشهر مكتبات تسجيل الدخول في Swift. تدعم iOS وmacOS وtvOS وwatchOS. الإمكانيات الرئيسية: إخراج ملون في وحدة التحكم، تسجيل في ملفات، إرسال إلى خدمات سحابية (مثل Loggly, Elastichsearch).
التثبيت عبر Swift Package Manager
// في Package.swiftdependencies: [ .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", from: "2.0.0")]مثال على استخدام SwiftyBeaver
import SwiftyBeaver
let log = SwiftyBeaver.self
// إعداد الوجهاتlet console = ConsoleDestination() // إخراج إلى وحدة التحكمlet file = FileDestination() // تسجيل في ملف
// التنسيقconsole.format = "$DHH:mm:ss$d $L $N.$F:$l - $M"
// إضافة الوجهاتlog.addDestination(console)log.addDestination(file)
// تسجيل الدخولlog.info("تم تشغيل التطبيق")log.error("خطأ في تحميل البيانات: \\(error.localizedDescription)")ميزات SwiftyBeaver:
- دعم ترميز الألوان للمستويات (verbose, debug, info, warning, error).
- إمكانية إرسال السجلات إلى الخادم عبر HTTP.
- إعداد مرن لتنسيق الإخراج.
XCGLogger - مسجل خفيف الوزن لـ iOS/macOS
XCGLogger هو حل شائع آخر يركز على البساطة والسرعة. مثالي للمشاريع الصغيرة والنماذج الأولية السريعة.
مثال على استخدام XCGLogger
import XCGLogger
let log = XCGLogger.default
// الإعدادlog.setup(level: .debug, showLogIdentifier: false, showFunctionName: true, showThreadName: true, showLevel: true, showFileNames: true, showLineNumbers: true, showDate: true)
// تسجيل الدخولlog.debug("تصحيح: قيمة x = \\(x)")log.warning("تحذير: مستوى شحن البطارية منخفض")مزايا XCGLogger:
- الحد الأدنى من التبعيات.
- دعم التصفية حسب مستويات تسجيل الدخول.
- إمكانية التكامل مع Crashlytics والخدمات الأخرى.