الفرق بين المراجعتين ل"Cordova/webview ios"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:العوارض في منصة iOS في كوردوفا}}</noinclude> تصنيف: Cordova تصنيف: iOS يوضح هذا المجل...')
 
ط (تدقيق)
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:العوارض في منصة iOS في كوردوفا}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:العوارض في منصة iOS في كوردوفا}}</noinclude>
 
[[تصنيف: Cordova]]
 
[[تصنيف: Cordova]]
[[تصنيف: iOS]]
+
يوضح هذا الدليل كيفية تضمين مُكوّن (component) [[Cordova/webviews|عارض]] كوردوفا في تطبيقات منصة iOS الكبيرة. للمزيد من التفاصيل حول كيفية جعل تلك المكوّنات تتواصل مع بعضها، راجع [[Cordova/plugins|دليل تطوير الإضافات]].
يوضح هذا المجلد كيفية تضمين مُكوّن (component) [[Cordova/webviews|عارض]] كوردوفا داخل تطبيقات iOS الكبيرة. للمزيد من التفاصيل حول كيفي يمكن أن تتوصل هذه المكونات مع بعضها، راجع إضافات التطبيق.  
 
  
بدأ دعم [[Cordova/webviews|العوارض]] في منصة iOS منذ الإصدار 1.4 كوردوفا، باستخدام مكوِّنٍ <code>Cleaver</code> يجعل من قالب Xcode تقديمًا (implementation) مرجعيًا له. منصة كوردوفا 2.0 والإصدارات الأحدث لا تدعم إلا التقديم المستند إلى المشروع الفرعي (subproject-based) للمكُوِّن Cleaver.  
+
بدأ دعم [[Cordova/webviews|العوارض]] في منصة iOS منذ الإصدار 1.4 كوردوفا، باستخدام مكوِّن <code>Cleaver</code> الذي بُنِي على قالب Xcode. منصة كوردوفا 2.0 والإصدارات الأحدث لا تدعم إلا التقديم المستند إلى المشروع الفرعي (subproject-based) للمكُوِّن <code>Cleaver</code>.  
  
تتطلب هذه الإرشادات على الأقل الإصدارين الرابع من كوردوفا و الثامن من Xcode فما فوقهما، بالإضافة إلى ملفٍ <code>config.xml</code> من مشروع iOS المُنشا حديثًا. يمكنك استخدام الإجراء في [[Cordova/cli|واجهة سطر الأوامر]] [../../cli/index.html The Command-Line Interface] لإنشاء مشروع جديد، ثم الحصول على الملف <code>config.xml</code> من المجلد الفرعي للتطبيق المحدد داخل <code>platforms/ios</code>.  
+
تتطلب هذه الإرشادات على الأقل الإصدار الرابع من كوردوفا، والثامن من Xcode، بالإضافة إلى الملف <code>[[Cordova/config ref|config.xml]]</code> من مشروع iOS المُنشا حديثًا. يمكنك استخدام هذا الإجراء في [[Cordova/cli|واجهة سطر الأوامر]] لإنشاء مشروع جديد، ثم الحصول على الملف <code>[[Cordova/config ref|config.xml]]</code> من المجلد الفرعي <code>platforms/ios</code> للتطبيق.  
  
* لاتباع هذه التعليمات، تأكد من أنّ لديك أحدث توزيعة من كوردوفا. نزِّلها من [http://cordova.apache.org cordova.apache.org]، وفُكَّ ضغط حزمة iOS الموجودة فيها.  
+
لاتباع هذه التعليمات، تأكد من أنّ لديك أحدث توزيعة من كوردوفا. نزِّلها من [http://cordova.apache.org cordova.apache.org]، وفُكَّ ضغط حزمة iOS الموجودة فيها.
  
هناك طريقتن لإضافة كوردوفا إلى مشروعك. الطريقة الأولى هي استخدام [https://github.com/Carthage/Carthage Carthage]، أم الطريقة الثانية فتعتمد إضافة كوردوفا يدويًا. تذكر أنّ Carthage ليست مدعومة إلا في الإصدار 4.0.0 من cordova-ios أو ما فوقه.  
+
هناك طريقتان لإضافة كوردوفا إلى مشروعك. الطريقة الأولى هي استخدام الأداة [https://github.com/Carthage/Carthage Carthage]، أمّا الطريقة الثانية فتعتمد إضافة كوردوفا يدويًا. تذكر أنّ الأداة Carthage ليست مدعومة إلا في الإصدار 4.0.0 من cordova-ios أو ما فوقه.  
  
بعد استخدام أيٍّ من هاتين الطريقتين، استمر في القسم <code>"Using CDVViewController"</code>.  
+
بعد استخدام أيٍّ من هاتين الطريقتين، يمكنك الانتقال إلى قسم [[Cordova/webview ios#.D8.A7.D8.B3.D8.AA.D8.AE.D8.AF.D8.A7.D9.85 CDVViewController|استخدام <code>CDVViewController</code>]].  
==1. إضافة Cordova.framework إلى مشروع Xcode باستخدام Carthage ==  
+
==إضافة <code>Cordova.framework</code> إلى مشروع Xcode باستخدام الأداة Carthage ==
* تثبيت [https://github.com/Carthage/Carthage Carthage]  
+
# قم بتثبيت [https://github.com/Carthage/Carthage Carthage]
* في الملف [https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile Cartfile] الخاص بك، أضف ما يلي (مع استبدال الإصدار المناسب في <versionortag>):  
+
# في الملف [https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile Cartfile]، أضف ما يلي (مع استبدال الإصدار المناسب بـ <code><versionortag></code>):<syntaxhighlight lang="shell">
<syntaxhighlight lang="javascript">git "git://git.apache.org/cordova-ios.git" "<version_or_tag>" # Apache‎</syntaxhighlight>  
+
git "git://git.apache.org/cordova-ios.git" "<version_or_tag>" # Apache
*تنفيذ
+
 
<syntaxhighlight lang="javascript">carthage update‎</syntaxhighlight>  
+
</syntaxhighlight>
* أضف <code>Carthage/Build/iOS/Cordova.framework</code> إلى مشروع Xcode خاصتك.  
+
# قم بتنفيذ الأمر التالي:<syntaxhighlight lang="shell">
== 2. إضافة Cleaver إلى مشروع Xcode ‏(CordovaLib Sub-Project) ==  
+
carthage update‎
 +
</syntaxhighlight>
 +
# أضف <code>Carthage/Build/iOS/Cordova.framework</code> إلى مشروع Xcode.
 +
 
 +
== إضافة Cleaver إلى مشروع Xcode ‏(CordovaLib Sub-Project) ==  
 
* قم بإنهاء Xcode إذا كان قيد التشغيل.  
 
* قم بإنهاء Xcode إذا كان قيد التشغيل.  
 
* افتح طرفيةً، وانتقل إلى المجلد المصدري لكوردوفا iOS.  
 
* افتح طرفيةً، وانتقل إلى المجلد المصدري لكوردوفا iOS.  
* انسخ الملف <code>config.xml</code> الموضح أعلاه في مجلد المشروع.  
+
* انسخ الملف <code>[[Cordova/config ref|config.xml]]</code> الموضح أعلاه في مجلد المشروع.  
* افتح Xcode واستخدم Finder لنسخ الملف <code>config.xml</code> في النافذة <code>Project Navigator</code> الخاصة به.  
+
* افتح Xcode واستخدم الأداة Finder لنسخ الملف config.xml في النافذة '''Project Navigator'''.  
* اختر <code>Create groups for any added folders</code> واضغط على <code>Finish</code>.  
+
* اختر '''Create groups for any added folders''' واضغط على الزر '''Finish'''.  
* استخدم Finder لنسخ الملف <code>CordovaLib/CordovaLib.xcodeproj</code> إلى <code>Project Navigator</code> الذي يخص Xcode  
+
* استخدم Finder لنسخ الملف <code>CordovaLib/CordovaLib.xcodeproj</code> إلى <code>Project Navigator</code> الخاص بإطار العمل Xcode.
* اختر <code>CordovaLib.xcodeproj</code> في <code>Project Navigator</code>.  
+
* حدّد CordovaLib.xcodeproj في النافذة '''Project Navigator'''.  
* ارقُم تركيبة المفاتيح <code>Option-Command-1</code> لإظهار <code>File Inspector</code>.  
+
* اكتب تركيبة المفتاح '''Option-Command-1''' لإظهار '''File Inspector'''.  
* اختر <code>Relative to Group</code> في <code>File Inspector</code> لأجل القائمة المنسدلة التي تخص <code>Location</code>.  
+
* حدِّد Relative to Group في '''File Inspector''' من القائمة المنسدلة الخاصة بالموقع '''Location'''.  
* اختر <code>project icon</code> في <code>Project Navigator</code>، واختر <code>Target</code>، ثم اختر علامة التبويب <code>Build Settings</code>.  
+
* حدّد أيقونة المشروع '''project icon''' في '''Project Navigator'''، واختر '''Target'''، ثم اذهب إلى علامة التبويب '''Build Settings'''.  
* اضف <code>-force_load</code> و <code>-ObjC</code> لقيمة <code>Other Linker Flags</code>.  
+
* أضف ‎<code>-force_load</code> و <code>-ObjC</code> للقيمة '''Other Linker Flags'''.  
* انقر على <code>project icon</code> في Project Navigator، واختر قيمة <code>Target</code>، ثم حدد علامة التبويب <code>Build Phases</code>.  
+
* انقر على أيقونة المشروع '''project icon''' في النافذة '''Project Navigator'''، واختر القيمة '''Target'''، ثم اذهب إلى علامة التبويب '''Build Phases'''.  
* قم بتوسيع <code>Link Binaries with Libraries</code>.  
+
* قم بتوسيع '''Link Binaries with Libraries'''.  
* اختر الزر <code>+</code>، وأضف <code>frameworks</code> التالية. بشكل اختياري داخل <code>Project Navigator</code>، قم بنقلها إلى مجموعة <code>Frameworks</code>:  
+
* اضغط على الزر '''+'''، وأضف الإطارات '''frameworks''' التالية. وبشكلٍ اختياريٍ، قم بنقلها إلى المجموعة '''Frameworks''' داخل '''Project Navigator''':  
<syntaxhighlight lang="javascript">AssetsLibrary.framework
+
<syntaxhighlight lang="shell">AssetsLibrary.framework
 
CoreLocation.framework
 
CoreLocation.framework
 
CoreGraphics.framework
 
CoreGraphics.framework
 
MobileCoreServices.framework‎</syntaxhighlight>  
 
MobileCoreServices.framework‎</syntaxhighlight>  
* قم بتوسيع <code>Target Dependencies</code>، المربع العلوي الذي له هذا الاسم إن كان هناك أكثر من مربع واحد.  
+
* قم بتوسيع '''Target Dependencies'''، في المربع العلوي الذي له ذلك الاسم، في حال كان هناك أكثر من مربع واحد.  
* اضغك على الزر <code>+</code>، وأضف منتج البناء <code>CordovaLib</code>.  
+
* اضغك على الزر '''+'''، وأضف منتج البناء <code>CordovaLib</code>.  
* قم بتوسيع <code>Link Binaries with Libraries</code>، المربع العلوي الذي له هذا الاسم إذا كان هناك أكثر من مربع واحد.  
+
* قم بتوسيع '''Link Binaries with Libraries'''، أو المربع العلوي الذي له هذا الاسم إذا كان هناك أكثر من مربع واحد.  
* اضغط على الزر <code>+</code>، وأضف <code>libCordova.a</code>.  
+
* اضغط على الزر '''+'''، وأضف <code>libCordova.a</code>.  
* عيّن <code>Xcode Preferences → Locations → Derived Data → Advanced...</code> إلى القيمة <code>Unique</code>.  
+
* عيّن '''Xcode Preferences → Locations → Derived Data → Advanced...‎''' إلى القيمة '''Unique'''.  
* اختر <code>project icon</code> في Project Navigator، وحدد <code>Target</code>، ثم اذهب إلى علامة التبويب <code>Build Settings</code>.  
+
* حدد أيقونة المشروع '''project icon''' في النافذة '''Project Navigator'''، وحدد '''Target'''، ثم اذهب إلى علامة التبويب '''Build Settings'''.  
* ابحث عن <code>Header Search Paths</code>. وأضف إلى ذلك الإعداد القيمَ الثلاثة أدناه، بما في ذلك علامات الاقتباس:  
+
* ابحث عن '''Header Search Paths'''. وأضف إلى ذلك الإعداد القيمَ الثلاثة أدناه، بما في ذلك علامات الاقتباس:  
<syntaxhighlight lang="javascript">"$(TARGET_BUILD_DIR)/usr/local/lib/include"
+
<syntaxhighlight lang="shell">"$(TARGET_BUILD_DIR)/usr/local/lib/include"
 
"$(OBJROOT)/UninstalledProducts/include"
 
"$(OBJROOT)/UninstalledProducts/include"
 
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
 
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
 
"$(BUILT_PRODUCTS_DIR)"‎</syntaxhighlight>  
 
"$(BUILT_PRODUCTS_DIR)"‎</syntaxhighlight>  
  
بدءًا من الإصدار 2.1.0 من كوردوفا، تمت ترقية <code>CordovaLib</code> لاستخدام <code>Automatic Reference Counting (ARC)</code>. لا تحتاج إلى الترقية إلى <code>ARC</code> لاستخدام <code>CordovaLib</code>، ولكن إن أردت ترقية مشروعك لاستخدام <code>ARC</code>، فعليك استخدام أداة الترحيل الخاصة بإطار العمل Xcode من القائمة <code>Edit → Refactor → Convert to Objective-C ARC...</code>، ثم <code>de-select libCordova.a</code>، ثم قم بتشغيل الأداة لاكمال المهمّة.  
+
بدءًا من الإصدار 2.1.0 من كوردوفا، تمت ترقية <code>CordovaLib</code> لاستخدام '''Automatic Reference Counting (ARC)'''‎. فلم تعد تحتاج إلى الترقية إلى '''ARC''' لاستعمال <code>CordovaLib</code>، ولكن إن أردت ترقية مشروعك لاستخدام '''ARC'''، فاستعمل أداة الترحيل (migration wizard) في إطار العمل Xcode من القائمة '''Edit → Refactor → Convert to Objective-C ARC...'''‎، ثم '''de-select libCordova.a'''، ثم قم بتشغيل الأداة لاكمال المهمّة.  
== استخدام CDVViewController ==  
+
== استخدام <code>CDVViewController</code> ==  
 
* أضف الترويسة التالية:  
 
* أضف الترويسة التالية:  
 
<syntaxhighlight lang="javascript">#import <Cordova/CDVViewController.h>‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">#import <Cordova/CDVViewController.h>‎</syntaxhighlight>  
* قم بإنشاء نسخة جديدة من <code>CDVViewController</code> واحتفظ بها في مكانٍ ما، على سبيل المثال، في خاصية صنفيةٍ (class property):  
+
* قم بإنشاء نسخة جديدة من <code>CDVViewController</code> واحتفظ بها في مكانٍ ما؛ على سبيل المثال، احتفظ بها في خاصية صنفية (class property):  
 
<syntaxhighlight lang="javascript">CDVViewController* viewController = [CDVViewController new];‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">CDVViewController* viewController = [CDVViewController new];‎</syntaxhighlight>  
* بشكل اختياري، قم بتعيين الخاصية <code>wwwFolderName</code>، ذات القيمة الافتراضية <code>www</code>:  
+
* بشكل اختياري، قم بضبط قيمة الخاصية <code>wwwFolderName</code>، ذات القيمة الافتراضية <code>www</code>:  
 
<syntaxhighlight lang="javascript">viewController.wwwFolderName = @"myfolder";‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">viewController.wwwFolderName = @"myfolder";‎</syntaxhighlight>  
* بشكل اختياري، قم بتعيين صفحة البداية في الوسم <code>config.xml</code> داخل الملف <code><content></code>، إما لملف محلي:  
+
* بشكل اختياري، قم بضبط صفحة البداية في الوسم <code><content></code> داخل الملف <code>config.xml</code>، إما لملفٍ محلي:  
<syntaxhighlight lang="javascript"><content src="index.html" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><content src="index.html" />‎</syntaxhighlight>  
  
... أو لموقع بعيد:  
+
أو لموقع بعيد:  
<syntaxhighlight lang="javascript"><content src="http://apache.org" />‎</syntaxhighlight>  
+
<syntaxhighlight lang="xml"><content src="http://apache.org" />‎</syntaxhighlight>  
* بشكل اختياري، عيّن قيمة الخاصية <code>useSplashScreen</code>، ذات القيمة الافتراضية <code>NO</code>:  
+
* بشكل اختياري، اضبط قيمة الخاصية <code>useSplashScreen</code>، ذات القيمة الافتراضية <code>NO</code>:  
 
<syntaxhighlight lang="javascript">viewController.useSplashScreen = YES;‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">viewController.useSplashScreen = YES;‎</syntaxhighlight>  
* عيّن قيمة الخاصية <code>view frame</code>. اترك دائمًا تعيين هذه الخاصية إلى الأخير:  
+
* اضبط قيمة الخاصية '''view frame'''. اترك ضبط هذه الخاصية دائمًا إلى النهاية:  
 
<syntaxhighlight lang="javascript">viewController.view.frame = CGRectMake(0, 0, 320, 480);‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">viewController.view.frame = CGRectMake(0, 0, 320, 480);‎</syntaxhighlight>  
 
* أضف Cleaver إلى [[Cordova/webviews|العارض]]:  
 
* أضف Cleaver إلى [[Cordova/webviews|العارض]]:  
 
<syntaxhighlight lang="javascript">[myView addSubview:viewController.view];‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">[myView addSubview:viewController.view];‎</syntaxhighlight>  
 
== إضافة أصول HTML و CSS و JavaScript ==  
 
== إضافة أصول HTML و CSS و JavaScript ==  
* أنشئ مجلدًا جديدًا داخل المشروع، مثلا: <code>www</code>.  
+
* أنشئ مجلدًا جديدًا داخل المشروع مثل: <code>www</code>.  
* ضع أصول HTML و CSS و[[Java|جافا]]ا سكريبت في هذا المجلد.  
+
* ضع أصول [[HTML]] و [[CSS]] و<nowiki/>[[JavaScript|جافاسكريبت]] في هذا المجلد.  
* استخدم Finder لنسخ المجلد في نافذة Xcode‏ <code>Project Navigator</code> .  
+
* استخدم Finder لنسخ المجلد في نافذة '''Project Navigator''' في Xcode‏.  
* اختر <code>Create folder references for any added folders</code>.  
+
* اختر '''Create folder references for any added folders'''.  
 
* قم بتعيين قيم الخاصيتين <code>wwwFolderName</code> و <code>startPage</code> المناسبتين للمجلد الذي قمت بإنشائه في البداية، أو استخدم الإعدادات الافتراضية (المحددة في القسم السابق) عند إنشاء نسخة من <code>CDVViewController</code>.  
 
* قم بتعيين قيم الخاصيتين <code>wwwFolderName</code> و <code>startPage</code> المناسبتين للمجلد الذي قمت بإنشائه في البداية، أو استخدم الإعدادات الافتراضية (المحددة في القسم السابق) عند إنشاء نسخة من <code>CDVViewController</code>.  
 
<syntaxhighlight lang="javascript">/*
 
<syntaxhighlight lang="javascript">/*
    if you created a folder called 'myfolder' and
+
  myfolder إن أنشأت ملفا اسمه
    you want the file 'mypage.html' in it to be
+
  الموجود فيه mypage.html وأردت أن يكون الملف
    the startPage
+
  startPage هو صفحة البداية
 
*/
 
*/
 
viewController.wwwFolderName = @"myfolder";
 
viewController.wwwFolderName = @"myfolder";
 
viewController.startPage = @"mypage.html"‎</syntaxhighlight>
 
viewController.startPage = @"mypage.html"‎</syntaxhighlight>
 +
== انظر أيضًا==
 +
*[[Cordova/webview android|عوارض أندرويد في كوردوفا]]
 +
*[[Cordova/platforms ios|دليل التطوير على منصة iOS]]
 +
*[[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]]
 
==مصادر==
 
==مصادر==
 
*[https://cordova.apache.org/docs/en/latest/guide/platforms/ios/webview.html صفحة iOS WebViews في توثيق كوردوفا الرسمي.]
 
*[https://cordova.apache.org/docs/en/latest/guide/platforms/ios/webview.html صفحة iOS WebViews في توثيق كوردوفا الرسمي.]

المراجعة الحالية بتاريخ 10:17، 31 ديسمبر 2018

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

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

تتطلب هذه الإرشادات على الأقل الإصدار الرابع من كوردوفا، والثامن من Xcode، بالإضافة إلى الملف config.xml من مشروع iOS المُنشا حديثًا. يمكنك استخدام هذا الإجراء في واجهة سطر الأوامر لإنشاء مشروع جديد، ثم الحصول على الملف config.xml من المجلد الفرعي platforms/ios للتطبيق.

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

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

بعد استخدام أيٍّ من هاتين الطريقتين، يمكنك الانتقال إلى قسم استخدام CDVViewController.

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

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

إضافة 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 التالية. وبشكلٍ اختياريٍ، قم بنقلها إلى المجموعة Frameworks داخل Project Navigator:
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، فاستعمل أداة الترحيل (migration wizard) في إطار العمل 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";
  • بشكل اختياري، قم بضبط صفحة البداية في الوسم <content> داخل الملف config.xml، إما لملفٍ محلي:
<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 لنسخ المجلد في نافذة Project Navigator في Xcode‏.
  • اختر Create folder references for any added folders.
  • قم بتعيين قيم الخاصيتين wwwFolderName و startPage المناسبتين للمجلد الذي قمت بإنشائه في البداية، أو استخدم الإعدادات الافتراضية (المحددة في القسم السابق) عند إنشاء نسخة من CDVViewController.
/*
   myfolder إن أنشأت ملفا اسمه 
   الموجود فيه mypage.html وأردت أن يكون الملف
   startPage هو صفحة البداية
*/
viewController.wwwFolderName = @"myfolder";
viewController.startPage = @"mypage.html"

 انظر أيضًا

مصادر