الفرق بين المراجعتين لصفحة: «ReactNative/app extensions»
إضافة الصّفحة |
|||
سطر 11: | سطر 11: | ||
الحد الأقصى لذاكرة أداة اليوم هو 16 ميغابايت. قد تعمل تطبيقات أداة اليوم باستخدام React Native بشكل غير متوقّع لأن استخدام الذاكرة قد يكون مرتفعًا للغاية. يمكنك معرفة ما إذا كانت أداة "اليوم" الخاصة بك تتجاوز حد الذاكرة إذا كانت تعطي الرسالة "Unable to Load": | الحد الأقصى لذاكرة أداة اليوم هو 16 ميغابايت. قد تعمل تطبيقات أداة اليوم باستخدام React Native بشكل غير متوقّع لأن استخدام الذاكرة قد يكون مرتفعًا للغاية. يمكنك معرفة ما إذا كانت أداة "اليوم" الخاصة بك تتجاوز حد الذاكرة إذا كانت تعطي الرسالة "Unable to Load": | ||
[[ملف:TodayWidgetUnableToLoad.jpg|مركز|لاإطار]] | |||
[TodayWidgetUnableToLoad.jpg] | |||
احرص دائمًا على اختبار ملحقات التطبيقات على جهاز فعليّ، ولكن اعلم أنّ ذلك قد لا يكون كافيًا، لا سيما عند التعامل مع أدوات "اليوم". من المرجح أن تتجاوز البناءات المبنيّة مع تفعيل التنقيح (Debug-configured builds) حدود الذاكرة، بينما لا تفشل بناءات الإصدار (release-configured builds) على الفور. نوصي بشدة باستخدام [https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html آلات Xcode] لتحليل استخدامك للذاكرة في العالم الحقيقي، حيث من المحتمل جدًا أن يكون بناء الإصدار الخاص بك قريبًا جدًا من حد 16MB. في مواقف كهذه، من السهل تجاوز حد 16 ميجابايت عن طريق إجراء عمليات شائعة، مثل جلب بيانات من واجهة برمجة تطبيقات (API) معيّنة. | احرص دائمًا على اختبار ملحقات التطبيقات على جهاز فعليّ، ولكن اعلم أنّ ذلك قد لا يكون كافيًا، لا سيما عند التعامل مع أدوات "اليوم". من المرجح أن تتجاوز البناءات المبنيّة مع تفعيل التنقيح (Debug-configured builds) حدود الذاكرة، بينما لا تفشل بناءات الإصدار (release-configured builds) على الفور. نوصي بشدة باستخدام [https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html آلات Xcode] لتحليل استخدامك للذاكرة في العالم الحقيقي، حيث من المحتمل جدًا أن يكون بناء الإصدار الخاص بك قريبًا جدًا من حد 16MB. في مواقف كهذه، من السهل تجاوز حد 16 ميجابايت عن طريق إجراء عمليات شائعة، مثل جلب بيانات من واجهة برمجة تطبيقات (API) معيّنة. | ||
مراجعة 17:25، 6 يوليو 2019
ملحقات التطبيقات (App Extensions)
تتيح لك ملحقات التطبيقات توفير وظائف مخصّصة ومحتوًى خارج تطبيقك الرئيسي. هناك أنواع مختلفة من ملحقات التطبيقات على نظام التشغيل iOS، جميعها مذكورة في دليل برمجة ملحقات التطبيقات. في هذا الدليل، سنغطي بإيجاز كيف يمكنك الاستفادة من ملحقات التطبيقات على نظام التشغيل iOS.
استخدام الذاكرة في الملحقات
نظرًا لأن هذه الملحقات تُحمَّل خارج إطار التطبيق العادي، فمن المحتمل جدًا أن تُحمَّل العديد من ملحقات التطبيقات هذه في وقت واحد. كما قد تتوقع، فإن هذه الملحقات تأتي مع بعد القيود على استخدام الذاكرة. ضع هذا في عين الاعتبار عند تطوير ملحقات التطبيقات. يوصى دائمًا باختبار تطبيقك على جهاز حقيقي، خصوصًا عند تطوير ملحقات التطبيقات، إذ يجد المطورون في كثير من الأحيان أن ملحقاتهم تعمل جيدًا في محاكي iOS، ثمّ يتفاجؤون بإبلاغاتٍ من المستخدمين بأن الملحقات لا تُحمَّل على الأجهزة الفعليّة.
نوصي بشدة بمشاهدة حديث Conrad Kramer حول استخدام الذاكرة في الملحقات لمعرفة المزيد حول هذا الموضوع.
أداة اليوم (Today widget)
الحد الأقصى لذاكرة أداة اليوم هو 16 ميغابايت. قد تعمل تطبيقات أداة اليوم باستخدام React Native بشكل غير متوقّع لأن استخدام الذاكرة قد يكون مرتفعًا للغاية. يمكنك معرفة ما إذا كانت أداة "اليوم" الخاصة بك تتجاوز حد الذاكرة إذا كانت تعطي الرسالة "Unable to Load":
احرص دائمًا على اختبار ملحقات التطبيقات على جهاز فعليّ، ولكن اعلم أنّ ذلك قد لا يكون كافيًا، لا سيما عند التعامل مع أدوات "اليوم". من المرجح أن تتجاوز البناءات المبنيّة مع تفعيل التنقيح (Debug-configured builds) حدود الذاكرة، بينما لا تفشل بناءات الإصدار (release-configured builds) على الفور. نوصي بشدة باستخدام آلات Xcode لتحليل استخدامك للذاكرة في العالم الحقيقي، حيث من المحتمل جدًا أن يكون بناء الإصدار الخاص بك قريبًا جدًا من حد 16MB. في مواقف كهذه، من السهل تجاوز حد 16 ميجابايت عن طريق إجراء عمليات شائعة، مثل جلب بيانات من واجهة برمجة تطبيقات (API) معيّنة.
لتجربة حدود تطبيقات أداة React Native الخاصة باليوم، حاول توسيع المثال react-native-today-widget.
ملحقات تطبيقات أخرى
تحتوي الأنواع الأخرى من ملحقات التطبيقات على حدود ذاكرة أكبر من أداة "اليوم". على سبيل المثال، ملحقات لوحة المفاتيح المخصصة (Custom Keyboard extensions) محدودة في 48 ميجابايت، وملحقات المشاركة (Share) محدودة في 120 ميجابايت. يعد إجراء (Implementing) ملحقات تطبيقات كهذه مع React Native أحسن. الملحقة react-native-ios-share-extension أحد الأمثلة الدلالية على هذا.