it-swarm.dev

مكررة وإعادة تسمية المشروع Xcode والمجلدات المرتبطة بها

أود أن أكون قادرًا على تكرار مشروع Xcode بأكمله ، وإعادة تسمية المشروع والملفات المرتبطة به دون أن يكون Xcode عقليًا ، ودون الاضطرار إلى إعادة استيراد جميع الملفات يدويًا إلى المشروع.

191
Sammio2

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

تكرار مشروع Xcode

  • في الباحث ، قم بتكرار مجلد المشروع إلى الموقع المطلوب لمشروعك الجديد. لا تقم بإعادة تسمية اسم الملف .xcodeproj أو أي مجلدات مرتبطة به في هذه المرحلة.

  • في Xcode ، إعادة تسمية المشروع. حدد مشروعك من لوحة المستكشف (الجزء الأيسر). في جزء الأدوات المساعدة (الجزء الأيمن) إعادة تسمية مشروعك ، اقبل التغييرات التي يقترحها Xcode.

  • في Xcode ، أعد تسمية المخططات في "إدارة المخططات" ، وكذلك إعادة تسمية أي أهداف قد تكون لديك.

  • إذا كنت لا تستخدم معرف الباقة الافتراضي الذي يحتوي على PRODUCT_NAME الحالي في النهاية (لذلك سيتم التحديث تلقائيًا) ، فقم بتغيير معرف الباقة إلى المعرف الجديد الذي ستستخدمه لمشروعك المكرر.

إعادة تسمية المجلد المصدر

لذلك ، بعد اتباع الخطوات المذكورة أعلاه ، يجب أن يكون لديك مشروع Xcode مكرر ومُعاد تسميته والذي يجب أن يبني ويترجم بنجاح ، ومع ذلك ، سيظل مجلد التعليمات البرمجية المصدر الخاص بك كما كان في المشروع الأصلي. لا يتسبب هذا في أي مشكلات متعلقة ببرنامج التحويل البرمجي ، لكنه ليس أوضح بنية للملف للتنقل في SCM ، وما إلى ذلك. لإعادة تسمية هذا المجلد دون قطع جميع ارتباطات الملفات ، اتبع الخطوات التالية:

  • في Finder ، أعد تسمية المجلد المصدر. سيؤدي هذا إلى كسر مشروعك ، لأن Xcode لن يكتشف التغييرات تلقائيًا. ستفقد جميع قوائم ملف xcode روابطها مع الملفات الفعلية ، لذلك سوف يتحول لونها إلى اللون الأحمر.

  • في Xcode ، انقر فوق المجلد الظاهري الذي قمت بإعادة تسميته (من المحتمل أن يكون هذا صحيحًا في الجزء العلوي ، أسفل .xcodeproject الفعلي) إعادة تسمية هذا لتتطابق مع الاسم في Finder ، وهذا لن يصلح أي شيء ولن يكون الخطوة المطلوبة ولكن من الجميل أن يكون هناك أسماء ملفات مطابقة.

  • في Xcode ، حدد المجلد الذي قمت بإعادة تسميته للتو في جزء التنقل. ثم في جزء الأدوات المساعدة (أقصى اليمين) ، انقر فوق الرمز الذي يشبه المجلد الرمادي الداكن ، أسفل القائمة المنسدلة "الموقع". من هنا ، انتقل إلى المجلد الذي تمت إعادة تسميته في Finder وانقر فوق "اختيار". سيؤدي هذا إلى إعادة ربط جميع ملفاتك تلقائيًا ، ويجب ألا تظهر باللون الأحمر في جزء التنقل Xcode.

Icon to click

  • في إعدادات إنشاء المشروع/الأهداف ، ابحث عن اسم المجلد القديم وأعد تسمية أي حوادث تجدها يدويًا. عادةً يوجد واحد لـ prefix.pch وواحد لـ info.plist ، لكن قد يكون هناك أكثر من ذلك.

  • إذا كنت تستخدم أي مكتبات تابعة لجهات أخرى (Testflight/Hockeyapp/etc) ، فستحتاج أيضًا إلى البحث عن "مسارات البحث في المكتبات" وإعادة تسمية أي تكرارات لاسم الملف القديم هنا أيضًا.

  • كرر هذه العملية مع أي مجلدات التعليمات البرمجية المصدر اختبار وحدة قد يحتوي مشروعك ، العملية متطابقة.

يجب أن يسمح لك ذلك بتكرار وإعادة تسمية مشروع xcode وجميع الملفات المرتبطة به دون الحاجة إلى تحرير أي ملفات xcode يدويًا ، والمخاطرة بتلاعب الأشياء.

قروض

تم تقديم الشكر الجزيل لـ Nick Lockwood و Pauly Glott على تقديم إجابات منفصلة لهذه المشكلة.

358
Sammio2

أقوم بنشر هذا منذ أن كنت دائمًا أكافح عند إعادة تسمية مشروع بـ XCode.

إعادة تسمية المشروع جيدة وبسيطة ولكن هذا لا يعيد تسمية المجلد المصدر. إليك خطوة بخطوة لما قمت به والتي نجحت بشكل رائع في Xcode 4 و 5 بفضل الروابط أدناه.

روابط المرجع:
إعادة تسمية المشروع.
إعادة تسمية مجلد المصدر والملفات الأخرى.

1- النسخ الاحتياطي لمشروعك.

إذا كنت تستخدم git ، فعليك إجراء أي تغييرات ، وعمل نسخة من مجلد المشروع بالكامل والنسخ الاحتياطي في جهاز الزمن قبل إجراء أي تغييرات (هذه الخطوة غير مطلوبة لكنني أوصي بشدة).

2- افتح مشروعك.

3- بطيء انقر مرتين أو اضغط على "إدخال" في اسم المشروع (رمز القمة الزرقاء) وأعد تسميته إلى ما تريد.

ملاحظة: بعد إعادة تسمية المشروع والضغط على "إدخال" ، سوف يقترح تغيير جميع الإدخالات المرتبطة بأسماء المشروع تلقائيًا وسيسمح لك بإلغاء تحديد بعضها إذا أردت. حدد كل منهم وانقر فوق موافق.

4- إعادة تسمية المخطط

a) انقر على القائمة بجوار زر الإيقاف وحدد إدارة المخططات.

ب) بنقرة واحدة بطيئة أو الضغط على زر الإدخال أدخل على نظام الاسم القديم وإعادة تسميته إلى ما تريد.

ج) انقر فوق موافق.

5 - بناء وتشغيل للتأكد من أنه يعمل.

ملاحظات: في هذه المرحلة ، يجب إعادة تسمية جميع ملفات المشروع المهمة باستثناء التعليقات في الفئات التي تم إنشاؤها عند إنشاء المشروع أو المجلد المصدر. بعد ذلك ، سنقوم بإعادة تسمية المجلد في نظام الملفات.

6- أغلق المشروع.

7- إعادة تسمية المجلد الرئيسي والمصدر.

8- انقر بزر الماوس الأيمن على حزمة المشروع .xcodeproj ملف وحدد "إظهار محتويات الحزمة" من قائمة السياق. افتح الملف .pbxproj مع أي محرر نصوص.

9- ابحث واستبدل أي تواجد لاسم المجلد الأصلي باسم المجلد الجديد.

10 - احفظ الملف.

11- افتح مشروع XCode ، واختبره.

12 - انتهى.

25
fs_tigre

اعتبارا من XCode 7 أصبح هذا أسهل بكثير.

قامت Apple بتوثيق العملية على موقعهم: https://developer.Apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html

تحديث: رابط XCode 8: http://help.Apple.com/xcode/mac/8.0/#/dev3db3afe4f

4
PBICS

أنا أستخدم هذا البرنامج النصي بعد I إعادة تسمية مشروع iOS الخاص بي. يساعد تغيير اسم الدلائل وجعل الأسماء في المزامنة.

http://github.com/ytbryan/rename

ملاحظة: ستحتاج إلى تغيير اسم المخطط يدويًا.

2
ytbryan

في مثال التعليمة البرمجية للكتاب "Instant OpenCV for iOS" لقد عثرت على البرنامج النصي bash الذي ينسخ مشروعًا من مجلد إلى آخر.
عند إجراء القليل من البحث ، عثرت على منشور مدونة لما يبدو أنه المؤلف الأصلي للبرنامج النصي: http://mohrt.blogspot.it/2009/01/renaming-xcode-project- from-command.html ، حيث يمكنك تنزيل البرنامج النصي . أعطيته محاولة وتشغيله من محطة مثل هذا

    sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>   

يعمل بشكل جيد.
يمكن العثور على معلومات إضافية عند فتح الملف باستخدام محرر نصوص. امل ان يساعد

1
Giorgio Tempesta

شيء آخر لمحاولة!

عندما قمت بنسخ جميع ملفاتي ، وفتحت المشروع ، وإعادة تسميته ، تغير كل شيء إلى اسم مشروعي الجديد باستثناء لهدف الاختبار! تلقيت خطأ في رابط قيل إنني كنت في عداد المفقودين ملف يسمى "myOldProjectname.app". إليك ما إصلاحها:

  1. انقر فوق إعدادات المشروع وحدد هدف الاختبار enter image description here

  2. انقر فوق إعدادات الإنشاء وابحث عن "اختبار المضيف" enter image description here

  3. تحقق من تلك المسارات 2 ملف. من المحتمل أن هذين المسارين لا يزالان يشيران إلى اسم مشروعك القديم. enter image description here

امل ان يساعد!

0
erparker

أنا باستخدام البرنامج النصي BASH بسيط لإعادة تسمية.

الاستخدام: ./rename.sh oldName newName

#!/bin/sh

OLDNAME=$1
NEWNAME=$2

export LC_CTYPE=C 
export LANG=C
find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} +

mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj"
mv "${OLDNAME}" "${NEWNAME}"

ملاحظات:

  1. سيتجاهل هذا البرنامج النصي جميع الملفات مثل .git و .DS_Store
  2. لن يعمل إذا كان الاسم القديم/الاسم الجديد يحتوي على مسافات
  3. قد لا تعمل إذا كنت تستخدم القرون (لم تختبر)
  4. لن يتم تغيير اسم المخطط (على أي حال ، يتم تشغيل المشروع وتجميعه بشكل طبيعي)
0
Anton Malmygin

بالنسبة لأي شخص آخر يواجه مشكلات في تعطل لوحة العمل بعد نسخ مشروعك ، توجه إلى Main.storyboard ضمن Identity Inspector.

بعد ذلك ، تحقق من أن الوحدة النمطية الحالية هي الوحدة النمطية المعاد تسميتها وليست الوحدة القديمة.

0
Wraithseeker

أنا أستخدم Xcode 6+ وأفعل فقط:

  • نسخ جميع الملفات في مجلدات المشروع إلى مجلدات جديدة (مع اسم جديد).
  • افتح *.xcodeproj or *.xcworkspace
  • تغيير اسم المشروع.
  • انقر فوق المخطط وحذف chema الحالي وإضافة واحدة جديدة.

هنا يتم ، لكن اسم النافذة Xcode و *.xcodeproj or *.xcworkspace لا يزال <old-name>. ثم أفعل:

  • pop install
  • افتح <new name>.xcworkspace
0
SLyHuy