العوارض في منصة iOS في كوردوفا

من موسوعة حسوب
< Cordova
مراجعة 20:41، 26 ديسمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:العوارض في منصة iOS في كوردوفا}}</noinclude> تصنيف: Cordova تصنيف: iOS يوضح هذا المجل...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

 يوضح هذا المجلد كيفية تضمين مُكوّن (component) عارض كوردوفا داخل تطبيقات iOS الكبيرة. للمزيد من التفاصيل حول كيفي يمكن أن تتوصل هذه المكونات مع بعضها، راجع إضافات التطبيق.

بدأ دعم العوارض في منصة iOS منذ الإصدار 1.4 كوردوفا، باستخدام مكوِّنٍ Cleaver يجعل من قالب Xcode تقديمًا (implementation) مرجعيًا له. منصة كوردوفا 2.0 والإصدارات الأحدث لا تدعم إلا التقديم المستند إلى المشروع الفرعي (subproject-based) للمكُوِّن Cleaver.

تتطلب هذه الإرشادات على الأقل الإصدارين الرابع من كوردوفا و الثامن من Xcode فما فوقهما، بالإضافة إلى ملفٍ config.xml من مشروع iOS المُنشا حديثًا. يمكنك استخدام الإجراء في واجهة سطر الأوامر [../../cli/index.html The Command-Line Interface] لإنشاء مشروع جديد، ثم الحصول على الملف config.xml من المجلد الفرعي للتطبيق المحدد داخل platforms/ios.

  • لاتباع هذه التعليمات، تأكد من أنّ لديك أحدث توزيعة من كوردوفا. نزِّلها من cordova.apache.org، وفُكَّ ضغط حزمة iOS الموجودة فيها.

هناك طريقتن لإضافة كوردوفا إلى مشروعك. الطريقة الأولى هي استخدام Carthage، أم الطريقة الثانية فتعتمد إضافة كوردوفا يدويًا. تذكر أنّ Carthage ليست مدعومة إلا في الإصدار 4.0.0 من cordova-ios أو ما فوقه.

بعد استخدام أيٍّ من هاتين الطريقتين، استمر في القسم "Using CDVViewController".

1. إضافة Cordova.framework إلى مشروع Xcode باستخدام Carthage

  • تثبيت Carthage
  • في الملف Cartfile الخاص بك، أضف ما يلي (مع استبدال الإصدار المناسب في <versionortag>):
git "git://git.apache.org/cordova-ios.git" "<version_or_tag>" # Apache
  • تنفيذ
carthage update
  • أضف Carthage/Build/iOS/Cordova.framework إلى مشروع Xcode خاصتك.

2. إضافة Cleaver إلى مشروع Xcode ‏(CordovaLib Sub-Project)

  • قم بإنهاء Xcode إذا كان قيد التشغيل.
  • افتح طرفيةً، وانتقل إلى المجلد المصدري لكوردوفا iOS.
  • انسخ الملف config.xml الموضح أعلاه في مجلد المشروع.
  • افتح Xcode واستخدم Finder لنسخ الملف config.xml في النافذة Project Navigator الخاصة به.
  • اختر Create groups for any added folders واضغط على Finish.
  • استخدم Finder لنسخ الملف CordovaLib/CordovaLib.xcodeproj إلى Project Navigator الذي يخص Xcode
  • اختر CordovaLib.xcodeproj في Project Navigator.
  • ارقُم تركيبة المفاتيح Option-Command-1 لإظهار File Inspector.
  • اختر Relative to Group في File Inspector لأجل القائمة المنسدلة التي تخص Location.
  • اختر project icon في Project Navigator، واختر Target، ثم اختر علامة التبويب Build Settings.
  • اضف -force_load و -ObjC لقيمة Other Linker Flags.
  • انقر على project icon في Project Navigator، واختر قيمة Target، ثم حدد علامة التبويب Build Phases.
  • قم بتوسيع Link Binaries with Libraries.
  • اختر الزر +، وأضف frameworks التالية. بشكل اختياري داخل Project Navigator، قم بنقلها إلى مجموعة Frameworks:
AssetsLibrary.framework
CoreLocation.framework
CoreGraphics.framework
MobileCoreServices.framework
  • قم بتوسيع Target Dependencies، المربع العلوي الذي له هذا الاسم إن كان هناك أكثر من مربع واحد.
  • اضغك على الزر +، وأضف منتج البناء CordovaLib.
  • قم بتوسيع Link Binaries with Libraries، المربع العلوي الذي له هذا الاسم إذا كان هناك أكثر من مربع واحد.
  • اضغط على الزر +، وأضف libCordova.a.
  • عيّن Xcode Preferences → Locations → Derived Data → Advanced... إلى القيمة Unique.
  • اختر project icon في Project Navigator، وحدد Target، ثم اذهب إلى علامة التبويب Build Settings.
  • ابحث عن Header Search Paths. وأضف إلى ذلك الإعداد القيمَ الثلاثة أدناه، بما في ذلك علامات الاقتباس:
"$(TARGET_BUILD_DIR)/usr/local/lib/include"
"$(OBJROOT)/UninstalledProducts/include"
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
"$(BUILT_PRODUCTS_DIR)"

بدءًا من الإصدار 2.1.0 من كوردوفا، تمت ترقية CordovaLib لاستخدام Automatic Reference Counting (ARC). لا تحتاج إلى الترقية إلى ARC لاستخدام CordovaLib، ولكن إن أردت ترقية مشروعك لاستخدام ARC، فعليك استخدام أداة الترحيل الخاصة بإطار العمل Xcode من القائمة Edit → Refactor → Convert to Objective-C ARC...، ثم de-select libCordova.a، ثم قم بتشغيل الأداة لاكمال المهمّة.

استخدام CDVViewController

  • أضف الترويسة التالية:
#import <Cordova/CDVViewController.h>
  • قم بإنشاء نسخة جديدة من CDVViewController واحتفظ بها في مكانٍ ما، على سبيل المثال، في خاصية صنفيةٍ (class property):
CDVViewController* viewController = [CDVViewController new];
  • بشكل اختياري، قم بتعيين الخاصية wwwFolderName، ذات القيمة الافتراضية www:
viewController.wwwFolderName = @"myfolder";
  • بشكل اختياري، قم بتعيين صفحة البداية في الوسم config.xml داخل الملف <content>، إما لملف محلي:
<content src="index.html" />

... أو لموقع بعيد:

<content src="http://apache.org" />
  • بشكل اختياري، عيّن قيمة الخاصية useSplashScreen، ذات القيمة الافتراضية NO:
viewController.useSplashScreen = YES;
  • عيّن قيمة الخاصية view frame. اترك دائمًا تعيين هذه الخاصية إلى الأخير:
viewController.view.frame = CGRectMake(0, 0, 320, 480);
[myView addSubview:viewController.view];

إضافة أصول HTML و CSS و JavaScript

  • أنشئ مجلدًا جديدًا داخل المشروع، مثلا: www.
  • ضع أصول HTML و CSS وجافاا سكريبت في هذا المجلد.
  • استخدم Finder لنسخ المجلد في نافذة Xcode‏ Project Navigator .
  • اختر Create folder references for any added folders.
  • قم بتعيين قيم الخاصيتين wwwFolderName و startPage المناسبتين للمجلد الذي قمت بإنشائه في البداية، أو استخدم الإعدادات الافتراضية (المحددة في القسم السابق) عند إنشاء نسخة من CDVViewController.
/*
    if you created a folder called 'myfolder' and
    you want the file 'mypage.html' in it to be
    the startPage
*/
viewController.wwwFolderName = @"myfolder";
viewController.startPage = @"mypage.html"

مصادر