الإعداد
يعمل التحكم بالإصدارات افتراضياً بمجرد تشغيل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() مدة صلاحية الإجابة المحفوظة، فتجلب الحالة وتعيدها. والحزمة تتحقق
أصلاً عند التشغيل، وعند عودة التطبيق إلى الواجهة، وكل دقيقة أثناء الطوارئ (راجع
وصول التغييرات والعمل دون اتصال).