2010-02-20 8 views
16

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

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

मुझे यकीन है कि मुझे यहां कुछ याद आना चाहिए। मैंने 'संदर्भ फ़ोल्डर' का उपयोग करने की कोशिश की लेकिन उनमें कोड संकलित नहीं लगता है। ऐसा लगता है कि एक आईडीई बनाने के लिए पागल लगता है जो किसी भी परियोजना में फ़ाइलों को जोड़ने या हटाने के दौरान सभी को एक साझा फ़ाइल को संशोधित करने के लिए मजबूर करता है।

+0

शायद यह नहीं है कि आप क्या सुनना चाहते हैं, लेकिन यह चीजों की स्थिति है। मुझे आश्चर्य है कि आपको प्रोजेक्ट फ़ाइल के साथ कई विलय संघर्ष मिल रहे हैं। मैं लंबे समय से एक्सकोड (और इससे पहले प्रोजेक्ट बिल्डर) का उपयोग कर रहा हूं और कम से कम हाल के संस्करणों में मुझे इसके साथ बहुत परेशानी नहीं हुई है। मैं कुछ हद तक उत्सुक हूं, आप किस संस्करण नियंत्रण प्रणाली का उपयोग कर रहे हैं? –

उत्तर

2

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

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

सौभाग्य से, क्योंकि एक्सकोड फ़ाइल प्रारूप टेक्स्ट है, इसलिए यह होने पर विवादों को सुलझाने में आम तौर पर आसान होता है, इसके बाइनरी प्रारूप के साथ कोडवायरियर के खराब पुराने दिनों के विपरीत।

+2

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

+2

असल में कई लिनक्स/बीएसडी/आदि के लिए फाइलें बनाते हैं। सिस्टम इस तरह से काम करते हैं। स्रोत फ़ाइलों को निर्देशिकाओं में क्रमबद्ध किया जाता है और मेक फाइलें मूल रूप से जानती हैं कि लक्ष्य ए बनाने के दौरान, इसे फ़ोल्डर्स ए, बी, और सी में सभी फाइलों को संकलित करना होगा और सभी परिणामी .o फ़ाइलों को एक साथ जोड़ना होगा, लक्ष्य बी बनाने के दौरान, इसमें फ़ोल्डर्स बी, ई, और एफ में सभी फाइलों को संकलित करने के लिए। एक बार में दो लक्ष्यों का निर्माण करते समय, वही फ़ोल्डर दो बार नहीं बनाया जाता है, जब तक कि मेक फ़ाइल इस तरह से लिखी नहीं जाती है। – Mecki

+0

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

4

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

एक चाल मैं एक बहुत का उपयोग यह थोड़ा और अधिक सहने बनाने के लिए - विशेष रूप से उन में फ़ाइलों के बहुत से संसाधन निर्देशिका के साथ - है:

  • परियोजना पेड़ में एक निर्देशिका का चयन करें,
  • हिट हटाएं कुंजी,
  • "केवल संदर्भ हटाएं" चुनें, फिर
  • निर्देशिका को फिर से जोड़ने के लिए निर्देशिका में खींचें।

इस फाइल के किसी भी मैनुअल पुनर्व्यवस्था clobbers, लेकिन यह कम से कम फ़ाइलों की संख्या में हे (1) आपरेशन सिंक कर रहा है, किया जा रहा हे (एन) के बजाय बदल पड़ता है।

+1

अच्छा विचार। गधे में क्या दर्द है, लेकिन आईओएस के विकास के कई पहलू हैं। – benvolioT

संबंधित मुद्दे