كيف أقوم بأتمتة إنشاء التوزيع المصدر لتطبيق iPhone باستخدام Xcode؟[مغلق]

StackOverflow https://stackoverflow.com/questions/376103

سؤال

إنني أتطلع إلى توزيع تطبيق iPhone مفتوح المصدر ولدي بعض الأسئلة حول إجراء التوزيع المصدر:

  1. كيف يمكنني أتمتة إنشاء الأرشيف المصدر (أو صورة القرص) باستخدام XCode؟أريد شيئًا على غرار هدف البناء الذي يقوم بأرشفة المصدر (أهداف التنظيف أولاً إذا لزم الأمر، ولكن سيكون من الجيد إذا لم يكن الأمر كذلك).لدي أيضًا مشروع netbeans خارجي يحتوي على برنامج نصي روبي يُستخدم لإنشاء قاعدة بيانات SQL التي يحتاجها البرنامج (ولكن يمكنني إنشاء أرشيف منفصل لذلك إذا لزم الأمر).

  2. ما هي أفضل طريقة لتحديد الملفات التي تشكل "المصدر"؟هل هو ببساطة أي شيء متبقي بعد تنظيف جميع الأهداف؟هل هناك أي تحذيرات بشأن هذا النهج (لا أثق تمامًا في أن بيئات التطوير المتكاملة (IDEs) ستنظف كل الأشياء التي يبدو أنها تصنعها - هل هذا أيضًا من شأنه أن يتضمن أي عناصر تصميم برمجي لا ينبغي لها ذلك)؟

هل كانت مفيدة؟

المحلول

يمكنك إضافة مرحلة بناء البرنامج النصي إلى أي هدف لإجراء المعالجة اللاحقة للبناء.عادةً ما يكون النهج الصحيح هو إنشاء هدف مجمع يقوم أولاً ببناء هدف منتج البناء الخاص بك، ثم يقوم بتشغيل البرنامج النصي على المخرجات.

من الصعب تحديد كافة الملفات "المصدر".غالبًا ما يكون كل شيء في $(SRCROOT) ولكن إذا تم وضع مشروعك بطريقة الجذر -> ( src ) ( projfiles ) ، فإن $(SRCROOT) سيحتوي فقط على ملف المشروع الخاص بك وليس أي مصادر.قد يتعين عليك تشفير المعرفة المتعلقة بتخطيط المشروع ذي المستوى الأعلى على الأقل في البرنامج النصي، والحفاظ عليه إذا تغير.

على الرغم من أنه الافتراضي، ربما لا ترغب في وضع مجلد البناء الخاص بك في مجلد المشروع إذا كنت تريد أرشفة المصادر، لأنك غالبًا ما ستحصل على الوسائط الوسيطة وفهرس المشروع والأشياء الزائلة الأخرى.في مفتش الحصول على المعلومات الخاص بمشروعك، الجزء العام، قم بتعيين دليل Build Products and Intermediates إلى موقع مشترك خارج دليل المشروع.سيؤدي ذلك إلى تبسيط مهمة أرشفة مصادرك.

ويحتوي Xcode على آلية أرشفة مدمجة تسمى Snapshots؛قد ترغب في استخدام ذلك، على الرغم من أنه ليس من السهل تشغيله تلقائيًا.لكن اللقطات تعرف كل شيء عن جميع مصادرك.

نصائح أخرى

قم بتعيين متغير البيئة SRCROOT إلى الموقع الذي تريد أرشفة المصدر فيه، والقرص المضغوط إلى دليل المشروع، وتنفيذه

xcodebuild installsrc build -configuration <configname> -target <targetname>

يقوم إجراء البناء "installsrc" بنسخ مصدر المشروع إلى ${SRCROOT}.

حسنًا، لم يكن لدي أي إجابات على هذا حتى الآن، لذا سأتناوله من الاتجاه الآخر، باستخدام make وسطر الأوامر.سأستخدم الإجابة على هذا السؤال:

بناء مشاريع Qt Xcode من سطر الأوامر

... ثم استخدم أسلوب "الإنشاء" القياسي لإنشاء التطبيق وأرشيف التوزيع المصدر.

جرب هدفًا مجمعًا كما هو مقترح باستدعاء البرنامج النصي التالي:

#!/bin/bash -x

القرص المضغوط "$BUILT_PRODUCTS_DIR"

APPFILE="$PROJECT_NAME.app"

IPAFILE="$PROJECT_NAME.ipa"

إذا [ "$BUILD_STYLE" = "التوزيع" ];ثم

rm -f "$APPFILE.zip" && zip -ry "$APPFILE.zip" "$APPFILE" && open .

elif [ "$BUILD_STYLE" = "BetaTesting" ];ثم

rm -rf "$IPAFILE" iTunesArtwork Payload && \
cp ../../Apple/iTunesArtwork . && \
mkdir Payload && cp -Rp "$APPFILE" Payload && \
zip -r "$IPAFILE" iTunesArtwork Payload && open .

فاي

خطأ، ربما هذا هو الجواب على سؤال مختلف بالرغم من ذلك ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top