डुप्लीकेट और नाम बदलें Xcode प्रोजेक्ट और संबंधित फ़ोल्डर [बंद]


195

मैं एक पूरे Xcode प्रोजेक्ट को डुप्लिकेट करने में सक्षम होना चाहूंगा, प्रोजेक्ट का नाम बदलना और संबंधित फाइल को बिना Xcode के मानसिक रूप से नामांकित करना, और बिना प्रोजेक्ट के सभी फ़ाइलों को मैन्युअल रूप से पुन: आयात करना।

जवाबों:


368

यह उत्तर मेरे भविष्य के संदर्भ के लिए एक ही स्थान पर लाए गए इंटरनेट के आसपास विभिन्न अन्य StackOverflow पोस्ट और ट्यूटोरियल की परिणति है, और किसी और की मदद करने के लिए जो उसी मुद्दे का सामना कर रहा हो सकता है। सभी क्रेडिट अंत में अन्य उत्तरों के लिए दिए गए हैं।

एक Xcode परियोजना की नकल

  • खोजक में, अपने नए प्रोजेक्ट के वांछित स्थान पर प्रोजेक्ट फ़ोल्डर को डुप्लिकेट करें। इस स्तर पर .xcodeproj फ़ाइल नाम या किसी भी संबद्ध फ़ोल्डर का नाम न बदलें।

  • Xcode में, प्रोजेक्ट का नाम बदलें। नाविक फलक (बाएँ फलक) से अपनी परियोजना का चयन करें। उपयोगिताएँ फलक में (दायाँ फलक) अपनी परियोजना का नाम बदलें, परिवर्तन स्वीकार करें Xcode का प्रस्ताव।

  • Xcode में, "योजनाओं को प्रबंधित करें" में योजनाओं का नाम बदलें, आपके पास होने वाले किसी भी लक्ष्य का नाम बदल सकते हैं।

  • यदि आप डिफ़ॉल्ट बंडल पहचानकर्ता का उपयोग नहीं कर रहे हैं जिसमें अंत में वर्तमान PRODUCT_NAME सम्‍मिलित है (इसलिए स्‍वचालित रूप से अपडेट हो जाएगा), तो अपने बंडल पहचानकर्ता को अपने डुप्लिकेट किए गए प्रोजेक्ट के लिए उपयोग कर रहे नए में बदलें।

स्रोत फ़ोल्डर का नाम बदल रहा है

इसलिए उपरोक्त चरणों का पालन करने के बाद आपके पास एक डुप्लिकेट और बदला हुआ Xcode प्रोजेक्ट होना चाहिए जो सफलतापूर्वक निर्माण और संकलित होना चाहिए, हालांकि आपके स्रोत कोड फ़ोल्डर को अभी भी नाम दिया जाएगा क्योंकि यह मूल प्रोजेक्ट में था। यह किसी भी कंपाइलर मुद्दों का कारण नहीं बनता है, लेकिन यह SCM में नेविगेट करने के लिए लोगों के लिए सबसे स्पष्ट फ़ाइल संरचना नहीं है, आदि। इस फ़ोल्डर को आपके सभी फ़ाइल लिंक को तोड़ने के बिना नाम बदलने के लिए, इन चरणों का पालन करें:

  • खोजक में, स्रोत फ़ोल्डर का नाम बदलें। यह आपकी परियोजना को तोड़ देगा, क्योंकि Xcode परिवर्तनों का स्वचालित रूप से पता नहीं लगाएगा। आपकी सभी xcode फ़ाइल लिस्टिंग वास्तविक फ़ाइलों के साथ अपने लिंक खो देगी, इसलिए सभी लाल हो जाएंगे।

  • Xcode में, आपने जिस वर्चुअल फ़ोल्डर का नाम बदला है, उस पर क्लिक करें (यह आपके शीर्ष पर सही होगा, बस आपके नवीनतम .xcodeprogradject के तहत) इसका नाम खोजक में नाम से मिलान करने के लिए इसका नाम बदलें, यह कुछ भी ठीक नहीं करेगा और कड़ाई से नहीं है आवश्यक कदम लेकिन यह अच्छा है कि फ़ाइल के नाम का मिलान हो।

  • Xcode में, नेविगेशन फलक में आपके द्वारा बदला गया फ़ोल्डर चुनें। फिर यूटिलिटीज फलक में (दाईं ओर) उस आइकन पर क्लिक करें, जो डार्क ग्रे फ़ोल्डर जैसा दिखता है, बस 'स्थान' ड्रॉप डाउन मेनू के नीचे है। यहां से, खोजक में अपने पुनर्नामित फ़ोल्डर में नेविगेट करें और 'चुनें' पर क्लिक करें। यह आपकी सभी फ़ाइलों को स्वचालित रूप से फिर से जोड़ देगा, और उन्हें अब Xcode नेविगेशन फलक के भीतर लाल नहीं दिखना चाहिए।

क्लिक करने के लिए आइकन

  • अपने प्रोजेक्ट / लक्ष्यों में सेटिंग का निर्माण करें, पुराने फ़ोल्डर नाम की खोज करें और मैन्युअल रूप से आपके द्वारा पाई जाने वाली किसी भी घटना का नाम बदलें। आम तौर पर उपसर्ग के लिए एक है। pch और info.plist के लिए एक है, लेकिन अधिक भी हो सकता है।

  • यदि आप किसी भी तीसरे पक्ष के पुस्तकालयों (Testflight / Hockeyapp / etc) का उपयोग कर रहे हैं, तो आपको 'लाइब्रेरी सर्च पाथ्स' की भी खोज करनी होगी और यहाँ भी पुरानी फ़ाइल नाम की किसी भी घटना का नाम बदलना होगा।

  • किसी भी इकाई परीक्षण स्रोत कोड फ़ोल्डर के लिए इस प्रक्रिया को दोहराएं जिसमें आपकी परियोजना शामिल हो सकती है, प्रक्रिया समान है।

यह आपको किसी xcode प्रोजेक्ट और सभी संबद्ध फ़ाइलों को मैन्युअल रूप से किसी भी xcode फ़ाइलों को संपादित करने और चीजों को ख़तरे में डालने के बिना डुप्लिकेट और नाम बदलने की अनुमति देता है।

क्रेडिट

इस समस्या के अलग-अलग उत्तर प्रदान करने के लिए निक लॉकवुड और पाऊल ग्लॉट को बहुत धन्यवाद दिया जाता है।


3
ऊपर का पालन करने के बाद मैंने बस "पुराने नाम" के लिए छेद परियोजना की खोज की और पाया कि क्या बदलने की जरूरत है (उपसर्ग शीर्षक) और इसने "नया नाम" और दूसरी जगह के साथ ठीक संकलित किया। महान ट्यूटोरियल - बस मुझे क्या चाहिए। (टेस्टेड w Xcode 5.0.1 / iOS 7.0)
Mac

यह मुझे वहां (Xcode 5.0.2 पर), एक ऐसी परियोजना के साथ नहीं मिला, जिसमें 4.6.3 से 5.0.0 तक माइग्रेट किया गया था। *.xcodeproj/project.pbxprojफ़ाइल के अंदर कई चीजें थीं जिनमें मूल फ़ोल्डर पथ था। विशेष रूप से, बिल्ड विफल हो रहा था क्योंकि यह मूल फ़ोल्डर में info.plist की तलाश में रहता था।
स्टीवन लू

2
एक जिज्ञासा के रूप में, यहाँ ऐसा करने के लिए एक पुराने स्कूल का तरीका है ... stackoverflow.com/questions/10006482/… (डैनियल का जवाब)
Fattie

1
Xcode 7.1.1 पहली बाधा पर मेरे लिए क्रैश - प्रोजेक्ट का नाम बदल रहा है। जांच करेंगे, लेकिन क्या किसी और ने यह पाया है?
ह्यूघघटोटल

5
यह याद आ रहा है कि जब आपके पास प्रोजेक्ट में कोकोपोड्स इंटीग्रेशन है तो कैसे हैंडल किया जाए। मुझे इसे संभालने के लिए एक उपयोगी लिंक मिला: h4ckish.com/2015/01/22/renaming-your-cocoapods-ios-project
KK

30

जब से मैं एक परियोजना का नाम बदलकर संघर्ष कर रहा हूं, तब से मैं यह पोस्ट कर रहा हूं XCode

प्रोजेक्ट का नाम बदलना अच्छा और सरल है, लेकिन यह स्रोत फ़ोल्डर का नाम नहीं बदलता है। यहां मैंने जो कुछ भी किया है, उसके चरणबद्ध तरीके से नीचे दिए गए लिंक के लिए Xcode 4 और 5 में शानदार काम किया है।

REF लिंक:
प्रोजेक्ट का नाम बदलें।
स्रोत फ़ोल्डर और अन्य फ़ाइलों का नाम बदलें।

1- अपने प्रोजेक्ट का बैकअप लें।

यदि आप git का उपयोग कर रहे हैं, तो कोई भी बदलाव करें, कोई भी बदलाव करने से पहले पूरे प्रोजेक्ट फ़ोल्डर और समय मशीन में बैकअप की प्रतिलिपि बनाएँ (यह कदम आवश्यक नहीं है लेकिन मुझे अत्यधिक अनुशंसित है)।

2- अपना प्रोजेक्ट खोलें।

3- प्रोजेक्ट नाम (ब्लू टॉप आइकन) पर डबल क्लिक या हिट दर्ज करें और जो भी आपको पसंद हो उसका नाम बदलें।

नोट: आप परियोजना का नाम बदलने और 'एन्टर' प्रेस करने के बाद यह स्वचालित रूप से सभी प्रोजेक्ट-नाम-संबंधित प्रविष्टियों को बदलने का सुझाव देगा और यदि आप चाहें तो आपको उनमें से कुछ का चयन करने की अनुमति देगा। उन सभी का चयन करें और ठीक पर क्लिक करें।

4- स्कीम का नाम बदलें

a) स्टॉप बटन के ठीक बगल में स्थित मेनू पर क्लिक करें और योजनाएँ प्रबंधित करें चुनें।

ख) पुरानी नाम योजना पर एकल-धीमी-क्लिक या हिट दर्ज करें और जो भी आपको पसंद हो उसका नाम बदलें।

c) ओके पर क्लिक करें।

5 - निर्माण और चलाने के लिए सुनिश्चित करें कि यह काम करता है।

नोट: इस बिंदु पर सभी महत्वपूर्ण परियोजना फाइलों का नाम बदला जाना चाहिए, जब परियोजना बनाई गई थी और न ही स्रोत फ़ोल्डर में टिप्पणियों के अलावा। अगला हम फ़ाइल सिस्टम में फ़ोल्डर का नाम बदल देंगे।

6- प्रोजेक्ट बंद करें।

7- मुख्य और स्रोत फ़ोल्डर का नाम बदलें।

8- प्रोजेक्ट बंडल .xcodeprojफ़ाइल पर राइट क्लिक करें और संदर्भ मेनू से "पैकेज सामग्री दिखाएं" चुनें। किसी भी पाठ संपादक के साथ .pbxproj फ़ाइल खोलें।

9- मूल फ़ोल्डर नाम की किसी भी घटना को नए फ़ोल्डर नाम के साथ खोजें और बदलें।

10- फाइल को सेव करें।

11- XCode प्रोजेक्ट खोलें, इसका परीक्षण करें।

12- हो गया।

EDIT 10/11/19:

Xcode में परियोजनाओं का नाम बदलने के लिए एक उपकरण है, मैंने इस पर टिप्पणी करने के लिए पर्याप्त प्रयास नहीं किया है। https://github.com/appculture/xcode-project-renamer


2
सवाल नकल करने और फिर कॉपी किए गए प्रोजेक्ट का नाम बदलने का था। यह उत्तर किसी मौजूदा परियोजना का नाम बदलने के लिए है।
martinjbaker

1
यह, मेरे लिए, सबसे सरल तरीका है। बस मूल परियोजना फ़ोल्डर की प्रतिलिपि बनाएँ, जैसे MyProject, "MyNewProject" के लिए पुनरावर्ती। फिर MyNewProject खोलें और fs_tigre के निर्देशों के साथ आगे बढ़ें। मुझे आश्चर्य है कि न तो एंड्रॉइड स्टूडियो और न ही Xcode एक "फ़ाइल-> क्लोन प्रोजेक्ट" विकल्प प्रदान करता है जो इतना सुविधाजनक होगा। शायद किसी के लिए एक अच्छा प्लगइन परियोजना ( nshipster.com/xcode-plugins )?
ब्‍लिस्टरपन्‍ट्स

केवल विधि है कि मेरे लिए काम किया - XCode 8.2
GreenAsJade

2
चरण 10.1 - यदि आपके पास हेडर और / या एंटाइटेलमेंट फ़ाइलें हैं, तो अपना नया नाम प्रतिबिंबित करने के लिए नाम बदलें। यदि Cocoapods का उपयोग कर रहे हैं, तो अपनी पॉड फ़ाइल में नाम संपादित करें।
डेविड लारी

6

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/#/dev3db3954f


2
यह केवल ऐप के आंतरिक नाम को बदलने के लिए काम करता है, लेकिन बाहरी रूप से ऐप के लिए फ़ोल्डर अपरिवर्तित रहते हैं
smac89


2

मैं अपने iOS प्रोजेक्ट का नाम बदलने के बाद इस स्क्रिप्ट का उपयोग कर रहा हूं। यह निर्देशिकाओं के नाम को बदलने और सिंक में नाम बनाने में मदद करता है।

http://github.com/ytbryan/rename

नोट: आपको योजना का नाम मैन्युअल रूप से बदलना होगा।


1

"आईओएस के लिए इंस्टेंट ओपनसीवी" पुस्तक के उदाहरण कोड में मुझे एक बैश स्क्रिप्ट मिली है जो एक प्रोजेक्ट को एक फ़ोल्डर से दूसरे में कॉपी करती है।
थोड़ी खोजबीन करके मैंने एक ब्लॉग पोस्ट पाया है जो स्क्रिप्ट के मूल लेखक के रूप में लगता है: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , जहाँ आप स्क्रिप्ट डाउनलोड कर सकते हैं । मैंने इसे एक कोशिश दी और इसे टर्मिनल से इस तरह से चलाया

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

ठीक काम करता है।
अतिरिक्त जानकारी को टेक्स्ट एडिटर के साथ फाइल खोलते हुए पाया जा सकता है। उम्मीद है की वो मदद करदे


0

मैं Xcode 6+ का उपयोग कर रहा हूं और मैं सिर्फ यही करता हूं:

  • प्रोजेक्ट फ़ोल्डर में सभी फ़ाइलों को नए फ़ोल्डर (नए नाम के साथ) में कॉपी करें।
  • खुला हुआ *.xcodeproj or *.xcworkspace
  • प्रोजेक्ट का नाम बदलें।
  • स्कीमा पर क्लिक करें और वर्तमान रसायन हटाएं और नया जोड़ें।

यहाँ किया गया है, लेकिन विंडो Xcode का नाम और *.xcodeproj or *.xcworkspaceअभी भी है <old-name>। फिर मैं करता हूं:

  • pop install
  • खुला हुआ <new name>.xcworkspace

0

कोशिश करने के लिए एक और बात!

जब मैंने अपनी सभी फ़ाइलों की प्रतिलिपि बनाई, तो परियोजना खोली, और उसका नाम बदल दिया , परीक्षण लक्ष्य को छोड़कर सब कुछ मेरे नए प्रोजेक्ट नाम में बदल गया ! मुझे एक लिंकर त्रुटि मिली जिसमें कहा गया था कि मुझे "myOldProjectname.app" नामक एक फाइल याद आ रही थी। यहाँ यह तय है:

  1. अपनी परियोजना सेटिंग्स पर क्लिक करें और अपने परीक्षण लक्ष्य का चयन करें यहां छवि विवरण दर्ज करें

  2. बिल्ड सेटिंग्स पर क्लिक करें और "टेस्ट होस्ट" खोजें यहां छवि विवरण दर्ज करें

  3. उन 2 फ़ाइल पथ की जाँच करें। संभावना है कि वे 2 रास्ते अभी भी आपके पुराने प्रोजेक्ट के नाम की ओर इशारा कर रहे हैं। यहां छवि विवरण दर्ज करें

उम्मीद है की वो मदद करदे!


0

किसी अन्य व्यक्ति के पास स्टोरीबोर्ड के साथ समस्याएँ हैं, जो आपके प्रोजेक्ट की प्रतिलिपि बनाने के बाद, पहचान निरीक्षक के तहत Main.storyboard को सौंप देता है।

अगला, जांचें कि आपका वर्तमान मॉड्यूल सही नामांकित मॉड्यूल है और पुराना नहीं है।


0

मैं नाम बदलने के लिए सरल 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. योजना का नाम नहीं बदला जाएगा (वैसे भी परियोजना सामान्य रूप से चलती है और संकलित होती है)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.