كيفية السماح للمستخدم من تغيير ايقونة التطبيق !

باسل بارقبهمنذ 7 سنوات

السلام عليكم ..

كما تعلمون ابل في تحديث ios 10.3 اضافة ميزة تسمح للمطورين من اضافة ايقونات مختلفة لتطبيقاتهم ،
بما يجعل لمستخدمين حرية اختيار الايقونة المفضله لديهم بدلاُ من اجبارهم على ايقونة واحده !

الطريقة ليست صعبه ولكن تتطلب بعض الخطوات 

اولا :
نضيف الايقونة الاساسية في ملف appicon في مجلد Assets.xcassets
ستوجب عليك اضافة جميع الاحجام ولكن لغرض هذا الدرس اضفت ايقونة بحجمين مختلفين احداهم بحجم شاشة الايفون ٧ والاخر بحجم الايفون ٧ بلس

للتسهيل عليك  يمكنك عمل ايقونة بحجم 1500 في 1500
ومن ثم رفع الايقونة على هذا الموقع Makeappicon
وسوف ينتج لك جميع الايقونة بجميع الاحجام سوا كانت للـ ios او الاندوريد

وايضا هناك تطبيق في متجر البرامج يقوم بنفس هذه الوظيفة واكثر باسم Asset Catalog Creator


58f3ab55a63c9_ScreenShot2017-04-16at8_31_56PM.thumb.png.4a69814889e2cf64a4fed673fa96647f.png
 

ثانيا : اضيف الايقونات الاخرى  خارج مجلد Assets.xcassets
يمكنك فعل كما فعلت بجعل كل ايقونة بديله في مجلد ، لاحظ يتوجب عليك تسمية الايقونات باسماء مختلفة
وليس ضروري جعل كل ايقونة في مجلد مستقل 
الاهم هو تسمية الايقونات
فالايقونه الاولى تم تسميتها بـ icon 1
والايقونة الثانية تم تسميتها بـ icon 2


58f3ac199cbd6_ScreenShot2017-04-16at8_38_03PM.png.e7fc743704336c32172cba87b0b1a887.png
 

ثالثا : تحتاج الى اضافة بعض الاسطر لملف Info.plist


١. قم بفتح ملف Info.plist 
وانشى سطر جديد  عن طريقة الضغط على علامة "+" وقم بتسميته باسم CFBundleIcons
سوف يتغير تلقائيا الى Icon files (iOS 5)
و اجعله من نوع Dictionary

٢. اضغط على السهم بجانب Icon files (iOS 5) ومن ثم اضغط على علامة "+"
لاضافة حقل اسفل Icon files (iOS 5)
وباسم CFBundleAlternateIcons وايضا من نوع Dictionary

٣. اضغط على السهم بجانب CFBundleAlternateIcons ومن ثم اضغط على علامة "+"
لاضافة حقل جديد 

هذا الحقل قم بتسميته باسم الايقونة البديله هنا سوف نقومب تسميته بـ "icon 1"
واجعل نوعه Dictionary 

٤. اضغط على السهم بجانب "icon 1" ومن ثم اضغط على علامة "+"
وقم بتسميته باسم CFBundleIconFiles وهذه المره اجعله من نوع Array

٥. اضغط على علامة الـ "+" بجانب "CFBundleIconFiles" 
سيظهر حقل جديد باسم "item 0" من نوع String
اجعل هذا الحقل باسم الايقونه ،  نحن قمنا بتسميتها بـ icon 1 فاجعل قيمتها بنفس الاسم

كرر الخطوات من ٣ الى ٥ على حسبب عدد الايقونات التي تريدها

صورة توضح الخطوات السابقة بعد اضافة ايقونتين واحده باسم icon 1 والاخرى باسم icon 2


58f3a7b673adb_ScreenShot2017-04-16at8_16_26PM.png.f1af32f86689de6bc9b2cf5b307146a7.png
 

رابعا : اذهب الى Main.Storyboard
واضيف Segmented Control

قمة بتغيير مسمياتها حسب رغبتك ، او اجلعها كما في الصورة


58f3a887f049e_ScreenShot2017-04-16at8_22_29PM.thumb.png.7b863517aaec5757c0bbe1eedc019498.png
 

خامسا : اضغط على زر control واسحب الـ segmented الى ملف الاكواد وقم بتسميته بـ segmentedControl
واجعل النوع Outlet


58f3a9a455509_ScreenShot2017-04-16at8_25_24PM.png.bf9579806ff64550f9f67ff1ee8412e5.png


سادسا :  اضغط على زر control واسحب الـ segmented الى ملف الاكواد وقم بتسميته بـ indexChanged


58f3aa1bab8f1_ScreenShot2017-04-16at8_29_07PM.png.cb2fb749583b1bcb8cebfa82d130824e.png
 

سابعا :
الان بداخل اقواس indexChanged اضيف التالي


@IBAction func indexChanged(_ sender: UISegmentedControl) {

        

        switch segmentedControl.selectedSegmentIndex {

        case 0:

            

            UIApplication.shared.setAlternateIconName(nil)

            break



        case 1:            

            UIApplication.shared.setAlternateIconName("icon1")

            break



        case 2:

            UIApplication.shared.setAlternateIconName("icon2")



            break



            

        default:

            break

        }

        

    }


لاحظ التالي :
هذا السطر معناه الايقونة الاصلية 


            UIApplication.shared.setAlternateIconName(nil)


بقية الاسطر يتم كتابة اسماء الايقونات بدلا من nil 

اخيراً :
قم بتشغيل البرنامج وسوف تلاحظ امكانية تغيير ايقونة التطبيق

ستظهر رسالة تفيد بعملية التغير كهذه :


58f3b19a570f8_ScreenShot2017-04-16at9_01_34PM.thumb.png.fad5128b567302990b6ebd20e9389d7e.png
 


يمكن تحميل المشروع من هنا 

كلمات دليلية:
1
إعجاب
2516
مشاهدات
0
مشاركة
0
متابع
متميز
محتوى رهيب

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !