الانتقال إلى المحتوى الرئيسي
يعمل التحكم بالإصدارات على iOS وiPadOS وmacOS (تُعامَل تطبيقات Mac Catalyst معاملة macOS). لمعرفة ما يقدّمه وكيف تضبط القواعد في لوحة التحكم، راجع التحكم بالإصدارات.

الإعداد

يعمل التحكم بالإصدارات افتراضياً بمجرد تشغيل Lerix.initialize، مع الشاشات الجاهزة. لتغييره، مرّر appControl:
AppDelegate.swift

الإصدار

ترسل الحزمة CFBundleShortVersionString بوصفه الإصدار وCFBundleVersion بوصفه رقم البناء، ومعرّف الحزمة (bundle ID) ليختار Lerix رابط المتجر الصحيح. تقارن القواعد أرقام البناء حين تتوفر لدى الطرفين.

تغييرات فورية بالإشعار الصامت

حين تبدأ نافذة صيانة أو تنهيها، أو تفرض تحديثاً، يرسل Lerix إشعاراً صامتاً لتتحدث التطبيقات العاملة في الخلفية أيضاً. يتطلب ذلك إعداد الإشعارات: وضع الخلفية Remote notifications، وتمرير didReceiveRemoteNotification إلى Lerix.notifications.handleRemoteNotification(userInfo:). تتعرف الحزمة على رسالة التحديث وتتحقق فوراً. ومن دون الإشعارات، تلتقط التطبيقات التغيير عند تحققها التالي.

الشاشات الجاهزة

  • الصيانة: على iOS، نافذة مستقلة فوق كل ما في التطبيق، بما في ذلك التنبيهات، مع زر حاول مرة أخرى. وعلى macOS، طبقة معتمة فوق كل نوافذ التطبيق تستقبل كل النقرات والمفاتيح، ويبقى شريط القوائم (مثل Quit) متاحاً.
  • التحديث الإلزامي: الحاوية نفسها على كامل الشاشة، مع ملاحظات الإصدار وزر تحديث يفتح App Store.
  • مطالبة التحديث: تنبيه (على macOS: ورقة sheet) فيه تحديث ولاحقاً، وتخطي هذا الإصدار إن كان مسموحاً. وتُضاف ملاحظات الإصدار إلى الرسالة.
تتبع الأزرار ونص الخادم لغة التطبيق (العربية من اليمين إلى اليسار، أو الإنجليزية). راجع واجهة مخصصة لمعرفة متى تظهر كل منها.

شاشاتك الخاصة

اضبط ui: false، ثم اقرأ Lerix.appControl.state وراقب التغييرات. للحالة الأجزاء update (LerixAppUpdate) وmaintenance (LerixMaintenance) وsdk (LerixSdkControl)، وكل منها nil حين لا ينطبق شيء (الحقول في الحالة). وتصل التغييرات على الخيط الرئيسي (main thread).
تحمل onChange دالة واحدة. وللمراقبة من أكثر من مكان، استخدم addListener التي تعيد رمزاً تمرّره إلى removeListener:
وتتولى الدوال المساعدة عمل الأزرار:

التحقق الآن

تتجاهل refresh() مدة صلاحية الإجابة المحفوظة، فتجلب الحالة وتعيدها. والحزمة تتحقق أصلاً عند التشغيل، وعند عودة التطبيق إلى الواجهة، وكل دقيقة أثناء الطوارئ (راجع وصول التغييرات والعمل دون اتصال).