English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طريقة استخدام CocoaPods في iOS بالتفصيل

أولاً،ما هو CocoaPods

1 لماذا نحتاج إلى CocoaPods
عندما نقوم بتطوير iOS،لا يمكننا تجنب استخدام مكتبات التطبيقات المفتوحة المصدر مثل SBJson وAFNetworking وReachability وما إلى ذلك. عند استخدام هذه المكتبات،عادة ما تحتاج إلى:

تنزيل ملفات المصدر للمكتبات المفتوحة المصدر وإدخالها في المشروع
إضافة frameworks المستخدمة في المكتبات المفتوحة المصدر إلى المشروع
حل العلاقات الاعتماد بين المكتبات المفتوحة المصدر والمكتبات المفتوحة المصدر،وحل العلاقات الاعتماد بين المكتبات المفتوحة المصدر والمشروع،وإزالة frameworks المضافة مرة أخرى
إذا كان هناك تحديثات للمكتبات المفتوحة المصدر،فسيكون من الضروري حذف المكتبات المفتوحة المصدر المستخدمة في المشروع،ومن ثم تنفيذ الخطوات الثلاث السابقة،وتصبح الرأس مليئة بالقلق..
منذ ظهور CocoaPods،لم يعد علينا القيام بهذه المهام المعقدة،فكل ما علينا هو القيام ببعض الإعدادات القليلة،وCocoaPods سيفعل كل شيء باسمنا!

2、ما هو CocoaPods
CocoaPods هو أداة تساعدنا في إدارة مكتبات الاعتماد المفتوحة المصدر. يمكنه حل العلاقات الاعتماد بين المكتبات،تنزيل ملفات المصدر للمكتبات،ومع إنشاء مساحة عمل Xcode لربط هذه المكتبات الثالثة بمشاريعنا،لتكون جاهزة للتعامل معها في التطوير.

يتم استخدام CocoaPods لجعلنا قادرين على إدارة مكتبات التطبيقات المفتوحة المصدر بشكل تلقائي ومركزي وتجريدي.

ثانيًا،تثبيت CocoaPods

1、التثبيت
CocoaPods مكتوبة بلغة Ruby،وللبدء في استخدامها يجب أن يكون لدينا بيئة Ruby. لحسن الحظ،يأتي نظام OS X بمجرد تشغيله يمكنه تشغيل Ruby،لذا كل ما علينا القيام به هو تنفيذ الأمر التالي:

$ sudo gem install cocoapods 

CocoaPods يتم تثبيته بصورة Ruby gem. أثناء عملية التثبيت، قد يتم سؤالنا إذا كنا نريد تحديث rake،إدخال y. هذا لأن gem رake سيقوم بالتحقق بشكل دقيق أثناء التثبيت،وإذا كانت هناك إصدارات جديدة،فسيظهر هذا الخيار.
في وقت انتهاء عملية التثبيت، قم بتفيذ الأمر:

$ pod setup

إذا لم يتم عرض أي أخطاء، فإن هذا يعني أن التثبيت قد تم بنجاح!
2、المشاكل التي قد تواجهها أثناء التثبيت
① بعد تنفيذ الأمر install لم يكن هناك رد لمدة نصف يوم
هذا قد يكون بسبب أن المصدر الافتراضي لـ Ruby يستخدم cocoapods.org،وفي بعض الأحيان قد تكون هناك مشاكل في الوصول إلى هذا العنوان في الصين،واحدة من الحلول المتاحة هي استبدال البعيدة بـ taobao،وطريقة الاستبدال كالتالي:

$ gem sources --remove https://rubygems.org/ 
// بعد أن تكون هناك ردود، اكتب الأوامر التالية }} 
$ gem sources -a http://ruby.taobao.org/ 

للتحقق من نجاح الاستبدال، يمكنك تنفيذ ما يلي:

$ gem sources -l 

الإخراج العادي هو:

*** المصادر الحالية *** 
http://ruby.taobao.org/ 

② إصدار gem قديم جدًا
تعد gem حزمة معايير إدارة مكتبات Ruby وبرامج، وربما تؤدي إصدارها القديم أيضًا إلى فشل التثبيت، والطريقة الطبيعية لحل المشكلة هي ترقية gem، ويمكن تنفيذ الأمر التالي:

$ sudo gem update --system 

③ عند تنفيذ أمر pod setup بعد التثبيت، قد يظهر خطأ:

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:في `to_specs': لم يتم العثور على 'cocoapods' (>= 0) بين 6 مكتبات كامل (Gem::LoadError)
	من /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:في `to_spec'
	من /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:في `gem'
	من /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:في `<main>'

هذه مشكلة إعداد المسار، ويمكن حلها من خلال تنفيذ ما يلي:

$ rvm use ruby-1.9.3-p448 

حل هذه المشكلة.
3. ترقية CocoaPods
الترقية بسيطة للغاية، اكتب أمر التثبيت مرة أخرى فقط:

$ sudo gem install cocoapods 

على الرغم من ذلك، يجب مراعاة أنه إذا تم استخدام sudo أثناء التثبيت، يجب أيضًا استخدام هذا المفتاح عند الترقية، وإلا قد تظهر مشكلة عدم تطابق المسار مرة أخرى بعد الترقية.


ثالثًا، استخدام CocoaPods
إذا كان كل شيء قد تم بنجاح، يمكننا الآن تجربة السحر الذي يقدمه CocoaPods، ويجب أن نمر بعدة خطوات كما يلي:

لإيضاح هذا العمل، أنشأت مشروعًا يُدعى CocoaPodsTest.

1. إنشاء ملف Podfile
يبدأ كل شيء في CocoaPods من ملف يُدعى Podfile، نحتاج أولاً إلى إنشاء هذا الملف. بناءً على عادة شخصية، أستخدم سطر الأوامر، وأفعل الأمر كالتالي:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ touch Podfile

أولاً، أدخل مجلد الجذر للمشروع، ثم أنشئ ملف Podfile فارغًا، كما هو موضح في بنية الدليل التالية:

(PS: يمكن أن يكون ملف Podfile أيضًا غير موجود في مجلد الجذر للمشروع، ولكن سيكون الأمر أكثر تعقيدًا، سيتم شرح ذلك في المقالة القادمة، من فضلك تابعوا.)

2. تعديل ملف Podfile
حسب الحاجة، يمكننا كتابة مكتبات الطرف الثالث التي نحتاجها في ملف Podfile، على سبيل المثال، محتوى ملف Podfile الخاص بي يتضمن SBJson و AFNetworking و Reachability الثلاثة مكتبات كما يلي:

platform :ios
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'

3. تنفيذ أمر الاستيراد
بعد إكمال التحضير، يبدأ في استيراد مكتبات الطرف الثالث:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ pod install

أولاً، أدخل مجلد الجذر للمشروع، ثم أمر pod install، حيث يبدأ CocoaPods في القيام بكل من تنزيل ملفات المصدر، تكوين العلاقات الاعتمادية، وتضمين frameworks المطلوبة وما إلى ذلك من أعمال، والنتيجة الناتجة عن تنفيذ الأمر تُطبع كما يلي:

تحليل الاعتماديات
تحميل الاعتماديات
تثبيت AFNetworking (2.1.0)
تثبيت JSONKit (1.5pre)
تثبيت Reachability (3.0.0)
إنشاء مشروع Pods
إدماج مشروع العميل
[!] من الآن فصاعدًا استخدم `CocoaPodsTest.xcworkspace`.

هذا يعني أن الأمر pod install تم تنفيذه بنجاح. دعونا نرى أيضًا التغييرات التي طرأت على مجلد الجذر للمشروع، كما هو موضح في الشكل التالي:

يمكن رؤية أن في مجلد الجذر للمشروع، تم إضافة ثلاثة أشياء جديدة: CocoaPodsTest.xcworkspace ملف Podfile.lock و مجلد Pods.

(PS: نظرًا للحدود في الحجم، سيتم وضع ملف Podfile.lock في المقالة التالية من السلسلة، من فضلك تابع.)

لنلقي نظرة على السطر الأخير من المعلومات التي تم طباعتها بعد تنفيذ الأمر pod install:

[!] من الآن فصاعدًا استخدم `CocoaPodsTest.xcworkspace`.

يُشير إلى أننا يجب أن نستخدم ملف CocoaPodsTest.xcworkspace للبرمجة من الآن فصاعدًا.
هناك بعض النقاط التي يجب توضيحها حول التغييرات التي طرأت على المشروع:

سيتم تجميع البنوك الثالثة لتقديم مكتبة ثابتة لاستخدامها في المشروع الحقيقي


سيقوم CocoaPods بجمع جميع البنوك الثالثة بطريقة target لتكوين مشروع يُسمى Pods، وسيتم وضع هذا المشروع في مجلد Pods الجديد. سيتم إنشاء مكتبة ثابتة تُسمى libPods.a لتقديمها لمشروع CocoaPodsTest الخاص بنا.

سيتم إدارة مشروعنا والبنوك الثالثة من خلال workspace جديد
لإدارة المشروع والبنوك الثالثة بسهولة، سيتم تنظيم مشروع CocoaPodsTest وPods كworkspace، أي ملف CocoaPodsTest.xcworkspace الذي رأيناه.

إعدادات المشروع الأصلية قد تم تغييرها، الآن إذا قمت بفتح ملف المشروع الأصلي للتحقق من التجميع، سيتم عرض خطأ، وسيكون من الضروري استخدام workspace الجديد لإدارة المشروع.

افتح CocoaPodsTest.xcworkspace، والواجهة تبدو كالتالي:

هيكل المشاريع في المشروع واضح جدًا.

لإدراج ملفات الرأس للبنوك الثالثة التي تم إضافتها في المشروع، قم بإجراء عملية التجميع، وسيعمل ذلك بسرعة!
إلى هنا، مقالة استخدام CocoaPods انتهت، والآن سأقوم بشرح بعض الأمور العميقة عن CocoaPods، من فضلك تابع.

الباب الرابع، الموارد المختلفة

1ًاhttp://code4app.com/article/cocoapods-install-usage
2ًاhttp://cocoapods.org/

سيكون ممتازاً لك