إتقان iOS App Store تقديم و Xcode Cloud CI/CD أتمتة
٢٢ سبتمبر ٢٠٢٥
الرحلة من كتابة أول سطر من كود Swift إلى رؤية تطبيقك على App Store بشكل مباشر مثيرة – لكنها قد تشعرك بالإرهاق أيضًا. الشهادات، ملفات التهيئة، App Store Connect، TestFlight، ومسارات CI/CD عبر Xcode Cloud تشكل جميعًا نظامًا معقدًا يجب على كل مطور iOS التنقل فيه.
سترشدك هذه الدليل خلال كل خطوة من العملية، من إنشاء معرف التطبيق إلى أتمتة سير عمل التوزيع باستخدام Xcode Cloud. سواء كنت مطورًا مستقلًا أو جزءًا من فريق ناشئ متنامٍ، سيساعدك هذا المنشور في تبسيط عملية إصدار تطبيقات iOS.
جدول المحتويات
- فهم الأساسيات
- إنشاء وإدارة معرفات التطبيق
- تسجيل الأجهزة
- الشهادات: التطوير مقابل التوزيع
- شرح ملفات التهيئة
- التوزيع عبر TestFlight
- إرسال إلى App Store
- الأتمتة باستخدام Xcode Cloud
- دليل عملي لإعداد CI/CD
- استنتاجات قابلة للتنفيذ
فهم الأساسيات
قبل أن تتمكن من رفع تطبيق إلى App Store، تحتاج إلى فهم العناصر الأساسية لبيئة Apple:
- معرف التطبيق (معرف الحزمة): مُعرِّف فريد لتطبيقك (
com.company.app). - الشهادات: دليل رقمي يثبت أنك مطور Apple مُعتمد.
- ملفات التهيئة: حاويات تربط معرف التطبيق، الشهادات، والأجهزة المسجلة.
- App Store Connect: البوابة لإدارة التوزيع، البيانات الوصفية، والتحليلات.
- TestFlight: خدمة توزيع بيتا من Apple.
- Xcode Cloud: منصة سحابية لـ CI/CD من Apple لبناء واختبار وتوزيع التطبيقات.
بمجرد فهم كيفية تفاعل هذه العناصر، تصبح عملية الإرسال أسهل في التنقل.
إنشاء وإدارة معرفات التطبيق
لكل تطبيق iOS معرف حزمة يميزه بشكل فريد. عند إنشاء مشروع Xcode جديد:
// Example Swift App ID in Xcode project settings
Bundle Identifier: com.movidevtalk.sampleDemoApp
يجب تسجيل هذا المعرف في Apple Developer Portal:
- قم بتسجيل الدخول إلى Apple Developer Portal.
- انتقل إلى الشهادات، المعرفات & ملفات التهيئة.
- أنشئ معرف تطبيق جديد يطابق معرف الحزمة الخاص بك.
هذا يضمن لـ Apple تتبع تطبيقك عبر الأجهزة، ملفات التهيئة، وقنوات التوزيع.
تسجيل الأجهزة
إذا كنت تريد اختبار تطبيقك على أجهزة فعلية، يجب تسجيلها:
- القيود: حتى 100 iPhone، 100 iPad، و100 Mac سنويًا.
- الخطوات:
- جمع معرف UUID للجهاز.
- إضافته تحت الأجهزة في Developer Portal.
للفِرق الكبيرة، اعتماد قواعد تسمية مثل:
TeamAlpha_Rihan_iPhone14
TeamBeta_Alice_iPadPro
هذا يضمن سهولة تتبع الأجهزة وإزالتها عند مغادرة المطورين.
بدلاً من ذلك، إذا كان التوزيع عبر TestFlight، يتم تسجيل الأجهزة تلقائيًا عند تثبيت المُختبرين للتطبيق.
الشهادات: التطوير مقابل التوزيع
الشهادات تُوثق هويتك كمطور. هناك نوعان رئيسيان:
شهادة التطوير
- تُستخدم لتشغيل التطبيقات على الأجهزة المتصلة بجهاز Mac.
- يجب على كل مطور إنشاء شهادته الخاصة.
شهادة التوزيع
- تُستخدم لتوزيع التطبيقات خارج جهازك المحلي.
- يمكن استخدامها في ثلاث قنوات:
- App Store (إصدار عام)
- Ad Hoc (مجموعة محدودة من الأجهزة)
- Enterprise (توزيع داخلي للشركة)
إنشاء طلب توقيع الشهادة (CSR)
على جهاز Mac:
# Open Keychain Access > Certificate Assistant
# Request a Certificate from a Certificate Authority
ستقدم هذا CSR عند إنشاء الشهادات في Developer Portal.
شرح ملفات التهيئة
ملف التهيئة يربط:
- معرف التطبيق
- الشهادات
- الأجهزة (إذا لزم الأمر)
أنواع ملفات التهيئة:
- التطوير – للاختبار المحلي.
- Ad Hoc – لتوزيعه على مُختبرين محددين خارج جهازك.
- App Store – للتوزيع العام.
هيكل مثال:
Provisioning Profile = {
App ID: com.movidevtalk.sampleDemoApp,
Certificates: [DevCert_Alice, DevCert_Rihan],
Devices: [iPhone14Rihan, iPadProAlice]
}
عند تثبيت ملف التهيئة، يربط Xcode تلقائيًا مع المشروع الصحيح.
التوزيع عبر TestFlight
TestFlight يُبسط اختبارات البيتا:
- يدعم المُختبرين الداخليين (أعضاء الفريق في App Store Connect).
- يدعم المُختبرين الخارجيين (روابط عامة أو دعوات عبر البريد الإلكتروني).
خطوات تحميل البناء:
- إنشاء أرشيف في Xcode:
Product > Archive
- رفعه إلى App Store Connect.
- تهيئة مُختبرين TestFlight.
- المشاركة عبر رابط عام أو البريد الإلكتروني.
هذا يلغي الحاجة إلى تسجيل معرفات UUID للأجهزة يدويًا.
إرسال إلى App Store
عندما يكون تطبيقك جاهزًا للإصدار العام:
- تأكد من أن إصدار تطبيقك هو
1.0.0للإصدار الأول. - قدم البيانات الوصفية المطلوبة:
- اسم التطبيق والوصف
- لقطات الشاشة
- الكلمات المفتاحية
- رابط سياسة الخصوصية
- معلومات الاتصال للدعم
- أضف البناء الخاص بك تحت App Store > Prepare for Submission.
- أرسل للمراجعة.
تختلف أوقات مراجعة Apple، لكن المدة النموذجية هي 24–48 ساعة.
أتمتة باستخدام Xcode Cloud
التسليمات اليدوية عرضة للأخطاء وبطيئة. يحل Xcode Cloud هذه المشكلة باستخدام CI/CD:
- التكامل المستمر (CI): بناء واختبار التطبيقات تلقائيًا عند تحديث الفروع.
- التوصيل المستمر (CD): توزيع التطبيقات عبر TestFlight أو App Store.
الفوائد:
- متكامل بالكامل مع نظام Apple البيئي.
- مُوفِّر للتكلفة (يشمل عضوية المطور 25 ساعة بناء مجانية).
- يتعامل تلقائيًا مع الشهادات والملفات الشخصية والتوقيع.
دليل إعداد CI/CD العملي
الخطوة 1: ربط مستودع GitHub
git remote add origin git@GitHub.com:movidevtalk/sampleDemoApp.git
git push -u origin main
الخطوة 2: حماية الفرع الرئيسي
تمكين قواعد حماية الفرع في GitHub لطلب طلبات السحب.
الخطوة 3: إنشاء سير عمل في Xcode Cloud
- افتح Xcode > المنتج > Xcode Cloud > إنشاء سير عمل.
- تهيئة المُحفزات:
- عند طلب السحب إلى
main: تشغيل سير عمل البناء + الاختبار. - عند الدمج إلى
release: تشغيل سير عمل الأرشيف + التوزيع.
- عند طلب السحب إلى
مثال على تكوين سير العمل (بأسلوب YAML للوضوح)
workflow:
name: iOS Build & Test
trigger: pull_request_to_main
actions:
- build:
platform: iOS
scheme: SampleDemoApp
- test:
scheme: SampleDemoAppTests
الخطوة 4: إضافة سير عمل التوزيع
workflow:
name: iOS Release Distribution
trigger: merge_to_release
actions:
- archive:
destination: app-store-connect
- distribute:
target: testflight
testers:
- internal: dev-team
- external: alpha-testers
الخطوة 5: TestFlight الداخلي والخارجي
- المختبرون الداخليون: يجب أن يكونوا موجودين في App Store Connect.
- المختبرون الخارجيون: يمكنهم استخدام روابط عامة.
بعد اجتياز Builds المراجعة، يتلقى المختبرون وصولًا فوريًا.
استنتاجات قابلة للتنفيذ
- قم دائمًا بإنشاء معرفات تطبيق فريدة في بداية المشروع.
- على كل مطور إنشاء شهادة تطوير خاصة به—لا تشاركها.
- استخدم TestFlight لاختبار بيتا—يقوم تلقائيًا بتسجيل الأجهزة.
- أتمتة باستخدام Xcode Cloud لتقليل الأخطاء البشرية وتسريع الإصدارات.
- اتباع سير عمل قائمة على الفروع:
feature/*→ طلب سحب → بناء واختبار CIrelease/*→ دمج → أرشيف + توزيع
الخلاصة النهائية
إذا كنت مطور iOS مستقل، يمكنك التعامل مع عملية التسليم اليدوي بسهولة. ولكن بمجرد أن ينمو فريقك أو يكبر تطبيقك، يصبح Xcode Cloud ضرورة. فهو يوفر الوقت، ويقلل المخاطر، ويضمن أن كل إصدار متسق وموثوق.
مستقبل تطوير iOS هو الأتمتة، وقد وفرت Apple أخيرًا الأدوات لجعل CI/CD سلسًا. إذا لم تجرب Xcode Cloud بعد، ابدأ بالساعات الـ25 المجانية للبناء المضمنة في اشتراك Apple Developer—لن تعود إلى الوراء.