CI/CD والنشر على متاجر التطبيقات

تجهيز التطبيق وتقديمه إلى متجر Apple App Store

16 دقيقة الدرس 10 من 12

تجهيز التطبيق وتقديمه إلى متجر Apple App Store

يتضمن نشر تطبيق Flutter في متجر Apple App Store سلسلة دقيقة من الخطوات: إنشاء سجل في App Store Connect، وتوفير جميع البيانات الوصفية والصور المطلوبة، وبناء ملف IPA ورفعه، وأخيراً تقديم البنية عبر TestFlight ثم App Review. يستعرض هذا الدرس كل خطوة بالتفصيل حتى تنجح عملية التقديم من المحاولة الأولى.

المتطلبات الأساسية

قبل البدء في عملية التقديم، تأكد من توافر المتطلبات التالية:

  • عضوية نشطة في Apple Developer Program (99 دولاراً سنوياً)
  • Distribution Certificate صالحة وProvisioning Profile (من نوع App Store) تم إنشاؤهما في حساب Apple Developer الخاص بك
  • Xcode 15 أو أحدث مثبتاً على macOS مع أدوات سطر الأوامر
  • تطبيق Flutter المُهيأ بـ Bundle ID الصحيح في ios/Runner.xcodeproj مطابقاً للمعرف المُسجَّل في App Store Connect
  • أيقونات التطبيق بجميع الدقات المطلوبة (استخدم حزمة flutter_launcher_icons أو Xcode asset catalogue)
ملاحظة: يجب أن يتطابق Bundle ID الذي تضبطه في Xcode (Runner → General → Bundle Identifier) تماماً مع App ID المُسجَّل في حساب Apple Developer. أي عدم تطابق سيوقف خطوة الرفع.

الخطوة الأولى — إنشاء سجل في App Store Connect

سجّل الدخول إلى App Store Connect (appstoreconnect.apple.com) وأنشئ تطبيقاً جديداً:

  • انقر على My Apps → (+) → New App
  • اختر iOS كنظام أساسي
  • أدخل اسم التطبيق (المرئي للمستخدمين في المتجر)، واللغة الأساسية، وBundle ID، وSKU فريداً
  • انقر على Create

بعد الإنشاء ستنتقل إلى صفحة تفاصيل التطبيق، وهي المكان الذي تملأ فيه جميع البيانات الوصفية المطلوبة قبل أن يقبل Apple تقديمك.

الخطوة الثانية — استكمال البيانات الوصفية والصور

يتطلب Apple بيانات وصفية كاملة لكل تقديم. انتقل إلى تبويب App Store داخل سجل تطبيقك واملأ:

  • الوصف — حتى 4000 حرف يشرح وظيفة التطبيق
  • الكلمات المفتاحية — مفصولة بفواصل، بحد أقصى 100 حرف إجمالاً؛ تُحرّك إمكانية الاكتشاف
  • رابط الدعم ورابط التسويق
  • رقم الإصدار وسلسلة حقوق النشر
  • تصنيف العمر — املأ الاستبيان؛ يحسب Apple التصنيف تلقائياً
  • الفئة — الأساسية والثانوية الاختيارية

الصور إلزامية ويجب أن تغطي جميع أحجام الأجهزة المطلوبة. اعتباراً من 2024 يجب تقديم صور لـ:

  • شاشة 6.9 بوصة (iPhone 16 Pro Max)
  • شاشة 6.5 بوصة (iPhone 14 Plus / 11 Pro Max)
  • شاشة 5.5 بوصة (iPhone 8 Plus) — مطلوبة لدعم أنظمة التشغيل الأقدم
  • iPad Pro 12.9 بوصة (الجيل السادس) — إذا كان تطبيقك يدعم iPad
نصيحة: استخدم iOS Simulator في Xcode لالتقاط لقطات شاشة دقيقة البكسل لكل حجم مطلوب. شغّل تطبيقك في المحاكي المقابل، اضغط Cmd+S لحفظ لقطة الشاشة، ثم اسحبها إلى رافع الوسائط في App Store Connect.

الخطوة الثالثة — بناء ملف IPA للإصدار في Flutter

يبني Flutter ملف IPA للإصدار عبر الأرشفة من خلال Xcode. هناك طريقتان:

الطريقة أ — بناء من سطر أوامر Flutter

# بناء أرشيف الإصدار (ينشئ .xcarchive ضمن build/ios/archive)
flutter build ipa --release

# يوضع ملف IPA في:
# build/ios/ipa/Runner.ipa

الطريقة ب — Xcode Organizer (أرشفة يدوية)

# 1. افتح Xcode workspace (وليس .xcodeproj)
open ios/Runner.xcworkspace

# 2. في Xcode:
#    أ. اختر "Any iOS Device (arm64)" كوجهة
#    ب. Product > Archive
#    ج. انتظر ظهور الأرشيف في Organizer (Window > Organizer)
#    د. انقر "Distribute App" > "App Store Connect" > Next > Upload
تحذير: اختر دائماً Any iOS Device (arm64) — وليس محاكياً — كوجهة بناء قبل الأرشفة. الأرشفة على وجهة محاكي تنتج ثنائياً بمعمارية x86_64 سيرفضه App Store Connect فوراً.

الخطوة الرابعة — رفع البنية إلى App Store Connect

بعد الحصول على ملف IPA يمكنك رفعه باستخدام Xcode Organizer (موصى به) أو تطبيق Transporter المستقل من Apple (مجاني في Mac App Store).

  • Xcode Organizer: بعد الأرشفة، انقر Distribute App → App Store Connect → Upload. يوقّع Xcode الثنائي ويتحقق منه تلقائياً قبل إرساله.
  • Transporter: اسحب ملف .ipa إلى Transporter، سجّل الدخول بـ Apple ID الخاص بك، وانقر Deliver. يُجري Transporter نفس فحوصات التحقق التي يجريها Xcode.

تعالج خوادم Apple عملية الرفع وستتلقى تأكيداً بالبريد الإلكتروني خلال دقائق. ثم تظهر البنية تحت TestFlight في App Store Connect بعد اكتمال المعالجة (عادةً 5–15 دقيقة).

الخطوة الخامسة — توزيع TestFlight (اختياري لكن موصى به)

قبل التقديم لـ App Review يُنصح بشدة بتوزيع البنية عبر TestFlight:

  • يحصل المختبرون الداخليون (حتى 100 عضو من فريقك) على وصول فوري بعد المعالجة
  • يحتاج المختبرون الخارجيون (حتى 10,000 مستخدم) مراجعة Beta App Review مختصرة (عادةً يوم عمل واحد)
  • يكتشف TestFlight أخطاء الأجهزة الحقيقية وتقارير الأعطال قبل الإصدار العام

الخطوة السادسة — التقديم لمراجعة التطبيق

عندما تكون البنية جاهزة، عد إلى تبويب App Store في سجل تطبيقك:

  • تحت Build، انقر زر (+) واختر البنية المعالَجة
  • أكمل أي معلومات مفقودة مُشارة بنقطة برتقالية
  • أكمل استبيان App Privacy (إقرارات جمع البيانات)
  • تحت App Review Information، أضف بيانات اعتماد تجريبية إذا كان تطبيقك يحتوي على شاشة تسجيل دخول
  • انقر Submit for Review

يستجيب فريق مراجعة Apple عادةً خلال 24–48 ساعة للمراجعات العادية. ستتلقى إشعاراً بالبريد الإلكتروني عند تغيير الحالة إلى Approved أو Rejected.

النقطة الرئيسية: يتطلب التقديم الناجح في App Store تطابق Bundle IDs، وبيانات وصفية كاملة، وصور لجميع أحجام الأجهزة المطلوبة، وملف IPA مبني في وضع الإصدار على وجهة جهاز حقيقي، وإقرار شامل بـ App Privacy. إعداد كل عنصر بعناية قبل النقر على Submit for Review يتجنب أكثر أسباب الرفض شيوعاً.