COCOAPODS ماهي وما فائدتها وكيف تستخدمها
أحد أروع الأدوات المساعدة في تطوير تطبيقات IOS , OSX هي أداة COCOAPODS بحيث أنها تسهل لك العمل وتجعله أكثر ترتيباً وتنظيماً وبخطوات بسيطة واليوم بإذن الله سوف نتعرف عليها ونتعرف على طريقة إستخدامها وتثبيتها .
ماهي COCOAPODS ؟
هي إداة تم تطويرها بلغة Ruby من قبل فريق عمل مميز ومجتمع من المطورين فائدتها بشكل عام إدارة وتنظيم المكاتب و بيئات العمل الخاصة لبرمجة أجهزة IOS وأيضا أجهزة OSX .
ما فائدة COCOAPODS وماهي المكاتب وبيئات العمل ؟
عالم التطوير والبرمجة عالم واسع وسريع التطوير والأن يكاد يصبح شبه معدوم من يبني كل شي من الصفر ! فأصبح فكرة إعادة الإستخدام Code Reuse هي الأرجح والأفضل والأسرع لإنجاز المهام ، دعني أبسطها لك أكثر بمثال ?، مثلا في مرحلة تطوير تطبيق لي ومن ضمن مميزاته إستعلام عن صور ممجودة بالإنترنت وأحتجت أن أقوم بتخزين الصور التي أستعرضها من الإنترنت في الذاكرة بحيث يتم عرضها بالمستقبل بشكل أسرع وأفضل في تطبيقي فيصبح أمامي خيارين الأول أن أقوم ببناء دالة من الصفر وأستنفذ الكثير من الوقت والجهد وقد لا تكون بالكفاءة تلك التي أريدها أو إني أستخدم مكتبة تقوم بالعمل هذا وقد مرت بمراحل كثيره من التطوير والتعديل وقام بفحصها الكثير من المطورين حتى أصبحت ذات كفاءة عاليه وأوفر وقت وجهد بنسبة تصل 95% ؟! ، طبعاً الخيار الثاني .
إذاً المكاتب وبيئات العمل هي برمجيات ودوال جاهزة مفتوحة المصدر تمت برمجتها مسبقاً ومرت بمراحل متعددة من التطوير والتحديث والتعديل تنفذ مهام معينة ومختلفة وتسهل من التطوير والبرمجة بنسبة كبيرة جدا تصل إلى 95% وتزيد من كفاءة التطبيق بنسبة كبيرة أيضاً ، وهي متوفرة مختلف الأنوع والأفكار وبعدد كبير وضخم .
طيب وماذا يفعل COCOAPODS تحديداً ؟
COCOAPODS يقوم بتنظيم جميع المكاتب وبيئات العمل التي تستخدمها وأيضاً يسهل عليك عملية إضافة وحذف المكاتب وليس ذلك فقط بل ايضا يسهل عليك تحديث المكاتب ! نعم تحديث المكاتب كما تعلم هي مكاتب تتطور دائماً فيصبح تحديثها متعب نوعاً ما وقد لا تعلم عن توفر تحديث لها وهنا يأتي دور COCOAPODS بمجرد سطر أوامر واحد وضغطة زر واحدة يقوم بفحص جميع المكاتب التي تستخدمها ويقوم بتحديثها بالكامل وأنت تنظر فقط و تحتسي فنجان القهوة ? ( كيف تحتسي بالله واضح اني تحمست مع الفصحى ) .
هل تحمست عزيزي القارىء ؟ إذا نعم فدعنا نبدأ بكيفية تثبيتها وإستخدامها أم إذا لا فراجع حساباتك قد لا تكون مبرمج فنظر إلى مجال أخر ? (أمزح) .
دعنا نبدأ بسم الله :
تثبيت / تنصيب COCOAPODS :
وهذه أبسط ما يكون فقط قوم بفتح تطبيق Terminal من نظامك
وقم بكتابة هذا الأمر
sudo gem install cocoapods
سوف يطلب منك كلمة المرور الخاصة لجهازك لآن أمر sudo هو أمر يتطلب صلاحيات root قوم بإدخال كلمة المرور وأنتظر حتى يتم التثبيت ويظهر لك إنه تم بنجاح .
ملاحظة الخطوة السابقة تفعلها مرة وحدة فقط إلى أن تقوم بتغير جهازك أو نظامك
إنشاء ملف Podfile وربطه بمشروعك الخاص ب xcode :
تقوم عن طريق Terminal الذهاب إلى ملف المشروع الخاص بك وإذا لم تكن خبير بأوامر Terminal سوف أعلمك طريقة سهلة جدا ،
فقط قم بسحب مجلد المشروع وأستمر بالضغط على cmd وضعه في Terminal ? حسناً أتبع الصورة التالية :
حتى تصبح داخل مجلد المشروع من Terminal
الأن متبقي فقط خطوة وحدة وهي كتابة هذا الأمر :
pod init
سوف تجد انه تم إنشاء ملف بالإسم Podfile في نفس مجلد المشروع الخاص بك وهنا سوف يتم تحديد المكاتب التي نريدها وكل شي .
ملاحظة الخطوات السابقة تفعلها مرة واحدة فقط لكل مشروع
كتابة ملف Podfile :
تقوم بفتح الملف التي تم إنشائه عن طريق أي محرر نصوص مثلا TextEdit بالماك .
سوف نجد ملف وفيه الأكواد التالية :
نقوم بعمل التعديلات التاليه بحيث نحذف بعض الأسطر الخاصة في test وأيضا نقوم بحذف علامة # من بعض الأسطر والمؤشر عليها بالأسهم بحيث نحدد له الإصدار وغيره وسوف أقوم بشرحها لا تقلق
في هذا السطر platform :ios, '8.0' قمنا تحديد الأصدار الأدني الذي سوف يعمل التطبيق عليه بحيث يتم وضعه بالحسبان في حال وجود إصدارات خاصة للمكاتب لإصدارات ios .
في هذا السطر use_frameworks! نخبره بأنه أستخدم بيئات العمل لأننا سوف نطور ونبرمج على swift
الأن فقط بقي لن خطوة وهي تحديد المكاتب التي نحتاجها وهنا يأتي السؤال
كيف أحصل على المكاتب وأعرفها ؟
ببساطة عزيزي القارىء بما أن المكاتب مفتوحة المصدر فبكل تأكيد سوف تجدها على github ولكي أسهل عليك الأمر أضع بيدك أكبر دليل لمكاتب Swift & Objective-C كل مكتبة ووصفها وتصنيفها ضعها بمفضلتك ?? .
الأن بعد تحديد المكتبة أو المكاتب التي تريدها نقوم بوضعها في ملف Podfile بالشكل التالي
فكما ترا لقد قمت بوضع مكتبة Kingfisher والتي سوف تساعدني في المشكلة التي ذكرتها سابقاً لعملية تخزين الصور المستعرضه من الإنترنت في الجهاز وحصلت على هذا الكود pod 'Kingfisher', '~> 2.0' من نفس صفحة المكتبة في موقع github .
وبكل تأكيد تستطيع وضع أي عدد من المكاتب فقط قم وضعها أسفل المكتبة التي وضعتها سابقاً
أنتهينا هنا ? لا تنسى حفظ الملف
تحميل وتثبيت المكاتب لمشروعك الخاص :
هذه أصعب خطوه وأطول خطوة كان الله بعونك فقط قم بكتابة هذا الإمر pod install أنتهينا ?
الأن تم تحميل جميع المكاتب ووضعها بمشروعك وما عليك إلا إستخدمها كما جاء بالشرح الخاص للمكتبة في صفحتها .
لكن تمهل عزيزي القارىء قبل البدء بإستخدام المكاتب لابد أولا من إقفال xcode ومن ثم فتح المشروع من هذا الملف والذي تم إنشاءه بعد تنفيد أمر pod install
ومن الأن فصاعداً تفتح المشروع من هذا الملف . وايضا لا تنسى أن تقوم بإعادة بناء المشروع عن طريق الضغط على cmd+B .
هنا أنت الأن تعلم وتعرف كيفية إستخدام cocoapods وأيضا المكاتب وكيف تتعامل معها وكل ما يخصها ، وايضا سوف أقوم بالشرح مستقبلاً بإذن الله للعديد من المكاتب وكيفية إستخدامها وكل ما يخصها ?? .
ماذا لو نريد حذف مكتبة أو تحديث المكاتب :
ببساطة عزيزي القارئ إذا أردت حذف مكتبة أو إضافة مكتبة جديدة قم بتعديل ملف podfile وأحذف أو ضع المكتبة التي تريدها ومن ثم قم بتشغيل نفس الأمر pod install وأيضاً إذا أردت التحديث فقط قوم بتشغيل نفس الأمر ? الحياة أصبحت أسهل الأن ?? . لكن لاتنسى ان تكون في نفس المجلد الخاص بالمشروع من Terminal .
إلى هنا قد وصلت إلى نهاية هذا الموضوع أتمنى من الله أن أكون قد وفقت في الشرح وتوصيل المعلومة لكم إذا وجدت خطأ أو إذا لديك إقتراح لا تتردد بتصحيحي والتواصل معي مباشرةً .
أتمنى منك يا عزيزي أن تدعمني بنشر رابط هذا المقال ولكي تفيد غيرك ويعلم الله وحده الجهد والوقت الذي يتطلبه مني إنشاء هذه الدروس وقد سهلت لك أمر النشر فقط إختر الشبكة التي تود النشر فيها من الأسفل وسوف يتكفل الموقع بكل شيء ، تأكد دعمك لي بالنشر يحمسني أكثر وأكثر للمزيد .
سبحانك اللهم وبحمدك , أشهد أن لا إله إلا أنت , أستغفرك وأتوب إليك ..
الرابط المختصر للموضوع : xd7.me/13
1 March، 2016 at 8:29 pm
شرح متكامل ورائع للمبتدئين
أخيرا فهمت الcocoapods
مدري ليش كنت احسها شيء صعب
جزاك الله خير اخي عبدالرحمن
طروحاتك جميله آستمر
1 March، 2016 at 8:42 pm
الحمد لله بأني قد وفقت بشكل أو بأخر بتوصيل المعلومة بأبسط ما يكون
وجزاك الله خير أنت أيضاً على دعمك وتشجيعك
شكرا لك وبإذن الله القادم أفضل
1 May، 2016 at 5:18 pm
شرح اكثر من رائع وموفق جدا جدا
نتمنى ان تنزل دروسا اخرى عنها وعن اشياء اخرى تخص ios
في انتظار المزيد يا صديقي
شكرا
14 June، 2016 at 4:07 pm
بإذن الله سوف يكون في عدة مواضيع لهذا الجانب
أسعدني تعليقك
شكرا لك
16 June، 2016 at 4:29 am
السلام عليكم ووحمه الله وبركاته
اخي الفاضل : عبدالرحمن كلمات الشكر قليله في حقك مقابل ماتقدمه لنا من معلومات اعتبرها برأيي حصريه ، خصوصا اننا مبتدئين في لغة سويفت ..
نطمح في المزيد ..
الله يوفقك ويجزاك الف خير
16 June، 2016 at 5:05 am
وعليكم السلام ورحمة الله وبركاته
الحمد لله إنني أستطعت أن أفيدكم ولو بالقليل
وبإذن الله القادم أفضل وكلماتكم وقود لي
شكرا 🙂
14 October، 2016 at 3:28 pm
يعطيك العافيه على الشرح فعلا شرح متعوب عليه
كنت متخوف منها ولا اعرف استخدمها لانه استخدمتها قبل كذا و راح عليا المشروع
بس الان شغال تمام معاها
14 October، 2016 at 7:09 pm
أسعدني ودك
والحمد لله إنني أستطعت أن أقدم لكم الملعومة بأبسطما يمكن
شكرا لك
17 April، 2017 at 2:21 pm
السلام علكيم ورحمة الله وبركاتة ..
اخوي عبدالرحمن لدي مشروع اخذته من github
عند إدخال أمر [ pod install ]
يظهر لي ادخل اليوزر والباسورد لـ القيت هوب
من بعد الادخال يظهر الخطأ .
[!] Error installing AlamofireXMLRPC
[!] Failed to download ‘AlamofireXMLRPC’.
أرجو تفيدني بالحل .
جزاك الله خير .
21 March، 2017 at 9:25 am
انا لسى مبتدئ هل هذة الاداة يتطلب قبلها تحميل برنامج معين ؟ ماهو البرنامج ؟ ولو سمحت ايهما اسهل مع هذا البرنامج ماك او وندوز ؟ واين اجد هذا البرنامج ؟ وشكرا
14 February، 2018 at 6:18 am
جزاك الله كل خير اخ عبد الرحمن