تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

كيفية إنشاء Flavors في iOS بدون تعقيد وبالصور لمشروع Flutter

في عالم تطوير التطبيقات، من الشائع وجود أكثر من نسخة لنفس التطبيق مثل: الإصدار التجريبي (Dev)، والإصدار المنتج (Prod). يُعرف هذا بإعداد Build Flavors . وفي هذا المقال سنشرح خطوات واضحة لإنشاء Flavors لتطبيق iOS باستخدام Xcode.


فتح المشروع في Xcode

افتح مشروعك في برنامج Xcode .

بعد فتح المشروع، اضغط على قائمة Product في الأعلى.

اختر Scheme → Manage Schemes .


كيفية إنشاء Flavors في iOS بدون تعقيد وبالصور لمشروع Flutter

 إنشاء وتعديل النسخ (Schemes)

قم بتغيير اسم الـ Scheme الحالي (Runner) إلى prod.

ثم اضغط على زر (+) لإضافه Scheme جديد.

اختر الهدف (Target) Runner.

سمّيه بـ dev او اي اسم اخر جديد.


تكرار إعدادات البناء (Build Configurations)

تكرار إعدادات البناء (Build Configurations)


تكرار إعدادات البناء (Build Configurations)

انتقل إلى ملف Runner → Info → Configurations .

قم بتكرار كل من الإعدادات التالية:

Debug

Release

Profile

أضف اللاحقة -dev (او اي اسم اخر) لكل منها، ليصبح:

Debug-dev

Release-dev

Profile-dev

Xcode

ضبط اعدادات التشغيل

انتقل الي الاعلي وقم باختيار اسم ال flavor وبعدها قم بعمل edit scheme بعدها سوف تمر علي جميع العناصر وتقوم بضبط الاعدادات الصحيحه لها كما هو موضح علي حسب النوع


تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode


تحديد معرف الحزمة (Bundle Identifier) للنسخ المختلفة

انتقل إلى Target Runner → Build Settings .

ابحث عن خيار Product Bundle Identifier .

ضع معرف حزمة مختلف لكل نسخة، مثلاً:

prod: com.example.myapp.prod

dev: com.example.myapp.dev




تعيين اسم العرض (App Display Name) للنسخ المختلفة

في نفس صفحة Build Settings ، قم بإنشاء User Defined Setting جديدة.


تعيين اسم العرض (App Display Name) للنسخ المختلفة


سمّها APP_DISPLAY_NAME.

أعطِ قيمة لكل نسخة، مثل:

prod: My App

dev: My App Dev

 

تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode


ثم اذهب إلى ملف info.plist.

وقم بالبحث عن CFBundleDisplayName واجله ياخذ الاسم من flavor كما هو موضح

<string>$(APP_DISPLAY_NAME)</string>




 إعداد Firebase للنسخ المختلفة

أنشئ مجلدًا باسم config داخل مجلد ios.

داخله، أنشئ مجلدين فرعيين: prod و dev.

ضع ملف GoogleService-Info.plist الخاص بكل نسخة داخل المجلد المناسب.



الان قم بفتح الملف في Xcode وذلك عن طريق التوجه الي Runner ومن ثم Add Files to runner


تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

بعد ذلك اختر الملف ومن ثم add


تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode


سوف تخرج لك هذه الصفحه بعد ذلك finish


تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

إضافة سكريبت لنسخ ملف GoogleService-Info.plist

انتقل إلى Build Phases .

اضغط على + → New Run Script Phase .


تعلم إعداد Flavors في Flutter لنظام iOS باحتراف — بيئات مختلفة باستخدام Xcode

 سمّي السكريبت بـ Copy GoogleServices-Info.plist to the current location او اي اسم.

يجب أن يكون هذا السكريبت بعد مرحلة Link Binary With Libraries .



الاسكريبت

environment="default"

if [[ $CONFIGURATION =~ -([^-]*)$ ]]; then
  environment=${BASH_REMATCH[1]}
fi

echo "Current environment: $environment"

FLAVOR_CONFIG_DIR="${PROJECT_DIR}/config/${environment}"

GOOGLESERVICE_INFO_PLIST=GoogleService-Info.plist
GOOGLESERVICE_INFO_FILE="${FLAVOR_CONFIG_DIR}/${GOOGLESERVICE_INFO_PLIST}"

if [ -f "$GOOGLESERVICE_INFO_FILE" ]; then
  echo "Found GoogleService-Info.plist in $environment, copying..."

  PLIST_DESTINATION="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app"
  
  cp "${GOOGLESERVICE_INFO_FILE}" "${PLIST_DESTINATION}"
else
  echo "No GoogleService-Info.plist found for $environment. Skipping Firebase config."
fi

كيفيه تغيير صوره التطبيق بناء علي Flavor


انتقل الي المسار الموجود بالصوره ثم قم بانشاء مجموعه من الملفات كل واحد فيهم يتضمن علي صور التطبيق او صوره واحده له ولكن يكون باسم ال flavor كما هو موضح

كيفيه تغيير صوره التطبيق بناء علي Flavor


ولكي تقوم بتعيين الصوره انتقل الي Runner - General - App icons and lunch screen
واختر اسم المسار الخاص بالصور لكي يتم تعينها مع الflavor

كيفيه تغيير صوره التطبيق بناء علي Flavor

باستخدام الخطوات السابقة، يمكنك بسهولة تعيين أيقونات مختلفة لكل Flavor في تطبيق iOS الخاص بك. هذا يساعدك على تمييز التطبيقات أثناء التطوير والاختبار، ويضمن عدم الخلط بين النسخة التجريبية والإنتاجية على الأجهزة الفعلية
إعداد Flavors في تطبيقات iOS باستخدام Xcode قد يبدو معقدًا بعض الشيء في البداية، لكنه يساعد بشكل كبير في إدارة عدة إصدارات من نفس التطبيق (مثل التطبيقات التجريبية والمنتجة). بمجرد الانتهاء من الخطوات السابقة، ستتمكن من بناء وإدارة نسختين من تطبيقك بكل سهولة، مع إعدادات مختلفة مثل معرف الحزمة، اسم التطبيق، وملفات Firebase

تعليقات