Xcode में असली फ़ोल्डर में फ़ाइलें ले जाना


177

जब मैंने अपनी परियोजना शुरू की तो मुझे शाब्दिक फ़ोल्डर के बजाय Xcode में समूहों का उपयोग करने में खुशी हुई: जब से मैं Xcode में ब्राउज़र का उपयोग कर रहा हूं, सब कुछ एक्सेस करने के लिए, सामान अच्छी तरह से व्यवस्थित था और मैं खुश था।

हालाँकि, अब यह परियोजना संस्करण नियंत्रण के लिए साझा की जाने वाली है, प्रोजेक्ट फ़ोल्डर अपने आप में हॉरर शो है जो इसे टर्मिनल के माध्यम से स्कैन करने की कोशिश कर रहा है, लगभग 300 फाइलें, जिनमें से आधे से अधिक ग्राफिक्स हैं।

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

इसी तरह, मैं एक फ़ाइल को एक फोल्डर-फोल्डर (एक समूह) से एक वास्तविक फ़ोल्डर में स्थानांतरित नहीं कर सकता: एक्सकोड असली फ़ोल्डर को सामान को स्थानांतरित करने के लिए मान्य स्थानों पर नहीं मानता है।

मैं क्या खो रहा हूँ? मैं Xcode को कैसे मना कर सकता हूं कि मैं फ़ोल्डर्स को समूहों में उपयोग करने का तरीका बताऊं? यहाँ कुछ समान प्रश्न का उत्तर है , लेकिन यह वास्तव में मेरी समस्या को हल नहीं करता है क्योंकि मैं मौजूदा फ़ाइलों के साथ काम कर रहा हूं।

जवाबों:


176

2017 के लिए एक आधुनिक (और मृत सरल!) दृष्टिकोण (Xcode 6, 7, 8, और कभी-कभी 9, क्योंकि यह समय के कुछ स्वचालित रूप से करता है):

यदि आप फ़ाइलों का एक गुच्छा एक नए फ़ोल्डर में ले जा रहे हैं और बच्चे को पदानुक्रम में रख रहे हैं, तो यह वास्तव में प्रत्येक फ़ाइल को स्थानांतरित करने की तुलना में बहुत आसान है:

  1. Xcode फ़ोल्डर ट्री में नए समूह बनाएं और अपनी फ़ाइलों को उन में व्यवस्थित करें, जो आपको पसंद हैं।
  2. खोजक में एक मिलान भौतिक फ़ोल्डर ट्री बनाएं और चरण 1 में आपके द्वारा किए गए मिलान के लिए अपनी भौतिक फ़ाइलों को व्यवस्थित करें।
  3. Xcode में सभी संदर्भ अब लाल होना चाहिए (यह ठीक है!)।
  4. पहचान और प्रकार प्रबंधक से, Xcode में उस समूह का चयन करें जिसे आप स्थानांतरित करना चाहते हैं, फिर जानकारी पट्टी से फ़ोल्डर आइकन पर क्लिक करें:

  5. खोजक चयन संवाद में, चरण 2 में इस समूह के लिए आपके द्वारा बनाए गए समकक्ष नए फ़ोल्डर का पता लगाएं। उस समूह के अंदर की सभी फाइलें अब स्वचालित रूप से पुन: खोज ली जाएंगी!

क्या यह अच्छा नहीं है? कम से कम आपको अपने द्वारा बनाए गए प्रत्येक नए समूह के लिए इन 5 चरणों को एक बार दोहराना होगा (जो व्यक्तिगत रूप से प्रत्येक फ़ाइल को स्थानांतरित करता है!)

बोनस अंक!

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


3
हालांकि ऐसा करने से फाइल Git में अनट्रैक हो जाती है। बेशक मैं हमेशा फ़ाइल पढ़ सकता हूँ लेकिन क्या मुझे कुछ याद आ रहा है?
नींद

2
@ जेराल्डो यह निश्चित नहीं है कि आप किस स्वाद का उपयोग कर रहे हैं, लेकिन मुझे वह समस्या कभी नहीं हुई। हालाँकि, आप आसानी से कर सकते हैं git add .
ब्रैंडनस्क्रिप्ट

मुझे कुछ याद आ रहा है और मुझे यकीन नहीं है कि यह क्या है। हो सकता है कि मैं स्टेप (1) में "आपकी फाइलों को उनमें व्यवस्थित करूँ" शब्दों का अर्थ नहीं समझ रहा हूँ ?? मुझे लगता है कि इसका मतलब है "समूह को ड्रैग-एंड-ड्रॉप या जो भी हो, उससे जोड़ें"। लेकिन अगर मैं ऐसा करता हूं, तो निश्चित रूप से Xcode फाइलों को पहचानता है और उन्हें लाल रंग में नहीं दिखाता है, जैसा कि चरण (3) में बताया गया है। किसी भी विचार मैं गलत क्या कर रहा हूँ?
17:10 बजे hkatz

क्या आपने चरण 2 में भौतिक फ़ाइलों को स्थानांतरित किया था?
ब्रांडनस्क्रिप्ट

1
आह, मैं यह समझ से बाहर! चरण (2) मेरे लिए थोड़ा बहुत ही गूढ़ था। यदि मैं इसे फिर से लिख रहा था, तो मैं "भौतिक मेल खाता पेड़ बनाऊंगा" के प्रभाव के लिए कुछ कहूंगा, फिर नए समूह में चरण 1 (1) में आपके द्वारा जोड़ी गई फ़ाइलों का पता लगाने के लिए खोजक कमांड में Xcode के शो का उपयोग करें और उन फ़ाइलों को भौतिक रूप से स्थानांतरित करें आपके द्वारा अभी बनाए गए फ़ोल्डर में। " कुछ इस तरह ...
hkatz

119

FURTHER EDITED JUNE 2017: Xcode 9 यह स्वचालित रूप से करता है, कोई विशेष प्रयास की आवश्यकता नहीं है। यह उत्तर और ब्रैंडन केवल Xcode 8 और पूर्व के लिए लागू होते हैं।

EDCE DECEMBER 2016: नीचे दिए गए ब्रैंडन का जवाब अब एक बेहतर समाधान है। वापस जब यह जवाब 2010 में बनाया गया था तो यह एकमात्र विकल्प था जो मुझे मिल सकता था। मैं अब नीचे दिए गए ब्रैंडन के उत्तर का सुझाव देता हूं ।


यह पता चलता है कि वास्तविक फ़ोल्डरों में फ़ाइलें चलना निश्चित रूप से संभव है, हालांकि यह उतना सरल नहीं है जितना होना चाहिए।

मुझे यहां एक प्रश्न से मूल जानकारी मिली, एक्सकोड ने फाइलों और फ़ोल्डरों (कोर डेटा मॉडल ऑब्जेक्ट्स - आईफोन) का आयोजन किया , लेकिन रास्ते में महत्वपूर्ण चीजें सीखीं।

प्रक्रिया

फ़ाइलों को ले जाना एक दो-चरणीय प्रक्रिया है जिसमें कई उप-चरण होते हैं:

  1. Xcode बताएं कि आप फ़ाइलें कहाँ रखना चाहते हैं :

    • उस फ़ाइल या फ़ाइल समूह पर राइट / कंट्रोल-क्लिक करें जिसे आप स्थानांतरित करना चाहते हैं और दिखाई देने वाले संदर्भ मेनू से जानकारी प्राप्त करेंसमूह जानकारी या फ़ाइल जानकारी विंडो प्रकट होता है।

    • पथ क्षेत्र में विंडो के दाईं ओर स्थित चुनें बटन पर क्लिक करें । एक डायलॉग बॉक्स दिखाई देता है।

    • उस फ़ोल्डर पर नेविगेट करें जिसे आप चाहते हैं कि फ़ाइलों को ले जाया जाए। यदि आवश्यक हो तो एक नया फ़ोल्डर बनाएँ । संवाद बॉक्स के निचले-दाएं कोने में स्थित चुनें बटन पर क्लिक करें , फिर समूह जानकारी / फ़ाइल जानकारी विंडो बंद करें।

    • समूह में फ़ाइल / फाइलों के नाम इंगित करने के लिए लाल हो जाएंगे कि Xcode उन्हें आपके द्वारा निर्दिष्ट स्थान पर नहीं मिल सकता है।

  2. वास्तविक फ़ाइलों को स्थानांतरित करें

    • खोजक (या Git) में चरण 1 में आपके द्वारा चयनित फ़ाइलों को उन वास्तविक फ़ोल्डरों में स्थानांतरित करें जिन्हें आप उन्हें चाहते हैं।

    • वापस Xcode पर जाएँ। फ़ाइलों / समूहों को सभी को फिर से काला करना चाहिए था। यदि कोई अभी भी लाल है तो आप सही फ़ोल्डर में कुछ ले जाने से चूक गए हैं।

टिप्स

मैंने इस परियोजना में ~ 300 फ़ाइलों को समायोजित करते समय कुछ महत्वपूर्ण बातें सीखीं:

  • कुछ फाइलें इस तरह से स्थानांतरित करने से इनकार करती हैं; जब आप नए गंतव्य पर जाते हैं, तो चुनें बटन अक्षम होता है, जैसा कि नया फ़ोल्डर बटन है। समाधान, हालांकि मुझे नहीं पता कि इससे कोई फर्क क्यों पड़ता है, पहले उन फ़ाइलों को एक समूह में रखने के लिए Xcode का उपयोग करना है (फाइलों को राइट-क्लिक करें या समूह का चयन करें , और समूह को एक नाम दें) और फिर स्थानांतरित करें नए स्थान पर समूह। फाइंडर को वास्तव में खोजने के बाद आप उन्हें समूह से हटा सकते हैं (उन्हें नए मूल समूह / फ़ोल्डर में खींचकर और समूह को हटाकर)।

  • कई फाइलों के लिए चरण 2 को पूरा करने के बाद, हर कुछ मिनटों में रुकें और निर्माण करें। बिल्ड आपको बताएगा कि क्या आपने अभी तक कुछ भी खराब कर दिया है, इससे आपको बहुत अधिक नुकसान होने से पहले वापस जाना और इसे ठीक करना आसान हो जाएगा।

  • यदि फ़ाइलें आप उन्हें जहाँ चाहते हैं, वहाँ नहीं जा पाएँगे - मेरे पास एक समय का एक शैतान था, जो कुछ फ़ाइलों को कक्षाएं फ़ोल्डर में जल्दी-जल्दी बनाया गया था - आप उन्हें खोजने के लिए बस अपने पुराने स्थान से बाहर खींच सकते हैं कुछ जगह जैसे डेस्कटॉप, उनके संदर्भ को Xcode में हटाते हैं, और फिर उन्हें राइट / कंट्रोल-क्लिक एग्जॉस्ट फाइल्स विकल्प के माध्यम से पुनः आयात करते हैं ।

  • यदि पूर्व में आपने Xcode का उपयोग करके फ़ाइलों को संदर्भों को हटाने के लिए उपयोग किया है, तो उन्हें इस परियोजना में कचरा स्थानांतरित करने के बिना, आपको ऐसी फाइलें मिलेंगी, जिन्हें स्थानांतरित करने की आवश्यकता नहीं है, लेकिन केवल वहां बैठे हैं। सावधान रहें कि आप ऐसा नहीं करते हैं जो मैंने किया था, फ़ाइलों के एक मौजूदा समूह के नामों को भ्रमित करते हुए मैं आगे बढ़ रहा था और पुरानी, ​​अब-नहीं-जुड़ी फाइलें, जोर देकर कहा कि Xcode उन्हें आयात करें क्योंकि आपको लगा कि यह घना हो रहा था।

आशा है कि यह भविष्य के किसी व्यक्ति की मदद करेगा। मुझे आश्चर्य है कि यह उतना ही मुश्किल और कभी-कभी मुश्किल था।


2
एक ही निर्देशिका में सभी फाइलें होने वास्तव में मुझे गुस्सा दिला रहा था। इसके लिए शुक्रिया!
कर्टिस शिपले

आप यह भी कर सकते हैं: खोजक में वसीयत में निर्देशिका संरचना को पुनर्व्यवस्थित करें, परियोजना में सभी "लाल फाइलों" को हटा दें, और फिर उन सभी को परियोजना में "फ़ोल्डर में समूह" विकल्प का उपयोग करके वापस जोड़ें
bshirley

@bshirley बहुत सच है, और यदि मुख्य निर्देशिका में सभी फ़ाइलों को प्रोजेक्ट में होना चाहिए तो वह बहुत समय बचा सकती है। दुर्भाग्य से कई लोगों को शामिल करने वाली परियोजनाओं के साथ या जो समय के साथ बहुत अधिक रिलीज़ हुई हैं, वहाँ किसी भी संख्या में फाइलें हो सकती हैं जिन्हें परियोजना में जोड़ा नहीं जाना चाहिए। उस स्थिति में आपको ट्रैक करना होगा कि आपने उन्हें हटाने के लिए किन चीजों को हटाया है, या ऐसा ही कुछ।
मैथ्यू फ्रेडरिक

11
Xcode 4 में मुझे कुछ अलग करना था - राइट क्लिक करने पर किसी भी प्रासंगिक 'जानकारी प्राप्त लिंक' को नहीं देखा। इसके बजाय मुझे पहचान और प्रकार का दृश्य प्रदर्शित करना था (शायद इसके लिए एक नाम जो मुझे नहीं पता)। यह xcode4 हेडर बार में व्यू ऑप्शन में सबसे दाहिना बटन है। मैं फ़ाइल को पहले फाइल सिस्टम पर ले जाता हूं, और फिर रास्ते के बगल में अजीब आइकन पर क्लिक करता हूं, और xcode को बताता हूं कि नई फाइल कहां है।
इवान पोन

6
चलती फ़ाइलों के साथ समस्या यह है कि जब यह पहले से ही एसवीएन नियंत्रण में है, तो आपको यह सुनिश्चित करने की ज़रूरत है कि आप फ़ाइलों को स्थानांतरित करने के लिए संस्करण या आधारशिला जैसे ऐप का उपयोग करें ... या आप भयानक संस्करण नियंत्रण मुद्दों के साथ समाप्त करेंगे! काश Apple सिर्फ "समूहों" विचार को दूर फेंक देता और असली फ़ोल्डर्स में सब कुछ होता, ए-ला एक्लिप्स ...
जॉकी

104

Xcode 5 या Xcode 6 में:

  1. खोजक में अपने समूह में मैप करने वाले फ़ोल्डर बनाएँ
  2. फाइंडर में फाइल्स को उन फोल्डर में ले जाएं
  3. प्रत्येक फ़ाइल का चयन करें जो बाईं ओर Xcode साइडबार में लाल है
  4. दाईं साइडबार प्रकट करने के लिए बटन "दिखाएँ / छिपाएँ उपयोगिताएँ" पर क्लिक करें (चित्र देखें)
  5. "पहचान और प्रकार" में, छोटे बटन पर क्लिक करें और फ़ाइल स्थान चुनें (चित्र देखें)

यहां छवि विवरण दर्ज करें

चीयर्स।


1
कुछ उपयोगकर्ताओं को ध्यान दें, यदि आपको एक त्रुटि हो रही है कि हेडर की सूचना के बाद बदलाव किए गए थे, तो बस उत्पाद की एक सफाई करें और चीजें काम करेंगी!
क्वांटम

मैंने Xcode 5.1.1 में एक हेडर फ़ाइल को एक भौतिक फ़ोल्डर में स्थानांतरित करने के लिए इस दृष्टिकोण का पालन किया। मैं फ़ाइल को स्थानांतरित करने में सक्षम हूं। लेकिन Xcode प्रोजेक्ट बनाते समय "फ़ाइल नहीं मिला" कहता है। क्या आप मदद कर सकतें है।
रश्मि रंजन मल्लिक

22

मुझे XCode की आकर्षक डिजाइन के आसपास काम करने का सबसे विश्वसनीय तरीका मिल गया है, दो सालों से फाइंडर में अपनी सभी फाइलों को व्यवस्थित करना है:

  1. खोजक XCode के GUI के विपरीत, "गलतियाँ" नहीं करता है
  2. एक बार जब चीजें खोजक में व्यवस्थित हो जाती हैं, तो आप पूरे खोजक फ़ोल्डर को एक्सकोड में खींच / छोड़ सकते हैं, और ... यह वही करता है जो आप चाहते थे, बिना किसी प्रयास के।

मौजूदा XCode फ़ाइलों को इधर-उधर ले जाने पर भी ऐसा करना जल्दी होता है:

  1. फाइंडर में फाइलों का चयन करें
  2. उनके लिए फाइंडर में एक फोल्डर बनाएं
  3. उन्हें फ़ोल्डर में खींचें / छोड़ें (स्वचालित रूप से उन्हें ले जाता है)
  4. खोजक फ़ोल्डर को Xcode में खींचें / छोड़ें (स्वचालित रूप से: Xcode फ़ोल्डर बनाता है, फाइंडर फ़ोल्डर में प्रत्येक फ़ाइल को जोड़ता है)
  5. cmd- हर "रेड" फाइल को चुनें जिसे आप अब Xcode में देखते हैं (क्योंकि आपने उन्हें स्थानांतरित किया था) और डिलीट की को हिट करें

NB: मैं "उप-समूहों के साथ घसीटा फ़ोल्डर बनाएँ" विकल्प का उपयोग कभी नहीं करता, क्योंकि XCode 3 में जो अक्सर निराशाजनक रूप से छोटी गाड़ी थी और परियोजनाओं को भ्रष्ट कर सकता था। Apple स्पष्ट रूप से (IMHO) आंतरिक रूप से इस सुविधा का उपयोग नहीं करता है, अन्यथा इसे इतना छोटा होने की अनुमति कभी नहीं दी जाती; अगर Apple किसी चीज का उपयोग नहीं करता है, तो आमतौर पर इसका उपयोग करना सुरक्षित नहीं है - वे परीक्षण में अच्छे नहीं हैं :)


2
मैं यह कल की कोशिश कर रहा हूँ .. यह सरल उपाय था जिसकी मुझे तलाश थी। उन्होंने इसे इतना कठिन क्यों बनाया? यदि यह सिर्फ फाइल सिस्टम को प्रतिबिंबित करता है तो यह बहुत कम भ्रमित होता। धन्यवाद!
डेलक्स 247

यह चौथा समाधान था, जिसे मैंने आजमाया और केवल एक ही जिसे मैं xcode 5.1.1 के साथ काम कर सका। इसके अलावा, किसी कारण से यह मेरी किसी भी श्रेणी के लिए काम नहीं करेगा। मुझे सचमुच उन्हें कूड़ेदान में ले जाना था, उन्हें वापस कूड़ेदान से बाहर ले जाना था और फिर उन्हें फिर से एक्सकोड में जोड़ना था और आखिरकार यह काम कर गया।
user3344977

21

कमांड लाइन टूल को सेटअप और उपयोग करने के लिए एक सरल है - जीथब में उपलब्ध "सिंटेक्स" जो वास्तव में यहां आवश्यक है।

यह Xcode प्रोजेक्ट फ़ोल्डर को प्रोजेक्ट में Xcode समूहों से मिलान करने के लिए खोजक में पुनर्गठित करता है।

आप इसे यहां पा सकते हैं: https://github.com/venmo/synx

अद्यतन: XCode 9 डिफ़ॉल्ट रूप से इस सुविधा का समर्थन करता है। तो, अब अन्य उपकरणों का उपयोग करने की कोई जरूरत नहीं है!


महान उपकरण, लेकिन बड़ी परियोजनाओं में बेहद धीमी गति से मिलता है (काम पूरा होने में कुछ मिनट लग सकते हैं) और लगता है कि अब इसका समर्थन नहीं किया जाएगा।
लुकाज़

6

Xcode 9

ऐसा लगता है कि Xcode 9 अब डिफ़ॉल्ट रूप से इसका समर्थन करता है। जब आप फ़ाइलों को एक समूह से दूसरे में स्थानांतरित करते हैं, तो फ़ाइल को पुराने फ़ोल्डर से नए फ़ोल्डर में भी स्थानांतरित किया जाएगा। इसकी घोषणा डब्ल्यूडब्ल्यूडीसी 2017 में की गई थी।



2

मैं आमतौर पर फाइंडर में डायरेक्ट्री में फाइल्स ले जाता हूं, फिर अपने "गेट इन्फो" डायलॉग में XCode में लाल-रंग के नामों वाली फाइल्स को फिक्स करता हूं: "Choose ..." बटन पर क्लिक करें और फाइल के नए लोकेटन का चयन करें। यह पहली प्रतिक्रिया है जब मैं XCode में फ़ाइलों को स्थानांतरित करना चाहता हूं, और यह काम करता है।


1

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

मैंने पाया कि एक पुराने प्रोजेक्ट से चीजों को ठीक करने की कोशिश सिर्फ एक दर्द थी। इन फ़ाइलों को हटाना और उन्हें फिर से खींचना बहुत आसान हो गया।


1

एक फ़ोल्डर को xcode 4.5 में स्थानांतरित करने के लिए मैं सिर्फ ...

  1. फ़ाइलों / समूहों को xcode से हटाएं और "संदर्भ निकालें" चुनें।
  2. खोजक में जाएं और फ़ोल्डर / फाइलों को आवश्यकतानुसार स्थानांतरित करें।
  3. एक बार जब मैं वापस Xcode में जाता हूं और File-> Add files को {ProjectName} चुनता हूं।
  4. सुनिश्चित करें कि "गंतव्य समूह के फ़ोल्डर में आइटम कॉपी करें (यदि आवश्यक हो)" की जाँच की जाए
  5. सुनिश्चित करें कि "किसी भी जोड़े गए फ़ोल्डर के लिए समूह बनाएं" की जाँच की गई है
  6. सुनिश्चित करें कि "Add to Target" को आपके प्रोजेक्ट के लिए चेक किया गया है

1

XCode 8 के लिए सबसे आसान तकनीक ...।

मान लें कि आपके पास तार्किक समूह में ए, बी, सी फाइलें हैं, लेकिन चाहते हैं कि वे आपकी हार्ड ड्राइव पर एक फ़ोल्डर में चले जाएं।

  1. फ़ाइंडर के माध्यम से एक गंतव्य फ़ोल्डर बनाएँ
  2. फोल्डर संदर्भ का चयन करने के लिए विकल्प फलक का उपयोग करके XCode (फ़ाइल -> फ़ाइलें जोड़ें) में फ़ोल्डर जोड़ें (समूह नहीं)
  3. प्रोजेक्ट नेविगेटर में (नए) फ़ोल्डर संदर्भ के लिए (पुराने) समूह से फ़ाइलें A, B, C खींचें। XCode प्रोजेक्ट में और डिस्क पर, दोनों फाइलों को फ़ोल्डर में ले जाएगा।

किया हुआ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.