2012-02-21 11 views
61

मैं खोज जारी रखें, लेकिन कैसे एक XCode प्रोजेक्ट में शामिल करने पर एक स्पष्ट और सरल व्याख्या नहीं मिल रहा है, सभी की यह एक और परियोजना में उप-वर्गों है के साथ। मैं नियमित रूप से नमूना परियोजनाओं में ऐसी चीजें देखता हूं जो मैं वेब से डाउनलोड करता हूं, लेकिन यह नहीं जानता कि यह कैसे करें।एक्सकोड 4.2 एक परियोजना को दूसरे में कैसे शामिल करें?

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

कृपया, किसी ने कदम क्या मैं एक दूसरे में एक XCode प्रोजेक्ट को जोड़ने के लिए क्या करना होगा द्वारा कदम मुझे समझा सकता है? मैंने "हेडर सर्च पथ" जैसे एक लाइनर का एक टन देखा है, लेकिन यह मुझे ज्यादा नहीं बताता है।

अद्यतन: प्रलेखन को फिर से पढ़ने के बाद, मुझे एहसास हुआ कि शामिल करने के लिए परियोजना को मूल परियोजना के नीले प्रोजेक्ट आइकन पर खींचा जाना चाहिए। नियमित स्रोतों को कहीं भी खींचा जा सकता है, लेकिन एक परियोजना को एक परियोजना पर खींचा जाना चाहिए।

धन्यवाद!

उत्तर

126

यह समझ का एक बहुत है जब आप अपने xcode परियोजनाओं के लिए एक स्थिर पुस्तकालय जोड़ने की कोशिश कर रहे हैं। ऐसा करने के लिए कुछ कदम आवश्यक हैं। सबसे पहले, सुनिश्चित करें कि स्थिर लाइब्रेरी प्रोजेक्ट एक्सकोड में खुला नहीं है।

फिर खींचने और (खोजक से) स्थिर पुस्तकालय xcodeproj फ़ाइल को अपने ऐप्लिकेशन के xcode परियोजना पर छोड़ने के द्वारा शुरू करते हैं। StaticLib

इस के बाद आप अपने ऐप के निर्माण चरणों को यह लाइब्रेरी को जोड़ना होगा। मुख्य प्रोजेक्ट पर क्लिक करें, और लक्ष्य के BuildPhases टैब का चयन करें।

Build Phases

आप लक्ष्य निर्भरता और अपने लिंक बाइनरी के साथ पुस्तकालय अनुभाग को अन्य परियोजना जोड़ना चाहते हैं जा रहे हैं।

अंत में, ऐप को आपके शीर्षकों से अवगत होना चाहिए। इसलिए, आपको अपने स्थिर शीर्ष पुस्तकालयों के वर्गों को अपने उपयोगकर्ता शीर्षलेख खोज पथ में पथ जोड़ने की आवश्यकता है। मुख्य लक्ष्य की बिल्ड सेटिंग्स पर जाएं और शीर्षलेख खोज पथ की खोज करें।

Header Search Path

यह आपके ऐप नई स्थिर पुस्तकालय के बारे में पता कर देगा।

कभी-कभी आपको कुछ अन्य लिंकर ध्वज जोड़ने की आवश्यकता होती है। सेटिंग्स बिल्ड में अन्य लिंकर झंडे के लिए खोज और जोड़ने -all_load और -ObjC

Other Linker Flags

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

+0

यदि यह पोस्ट सहायक था, तो कृपया उत्तर के रूप में चिह्नित करें। :) यदि तुम्हारे सवाल हों तो मुझे बताओ। – MobileOverlord

+0

ओएमजी जो कष्टप्रद है! – AlexChaffee

+21

महत्वपूर्ण जानकारी, दोस्तों: जो प्रोजेक्ट आप खींच रहे हैं उसे एक्सकोड में नहीं खोलना चाहिए। अगर किसी को भी मेरे जैसा ही मुद्दा सामना करना पड़ता है। :) – inket

4

तुम बस खींचें और ड्रॉप कर सकते हैं (.xcodeproj *) अपने वांछित अभिभावक परियोजना के परियोजना नेविगेशन फलक में किसी भी xcode परियोजना फ़ाइल।

फिर आप लक्ष्य निर्भरता को जोड़ने के लिए, अपनी आवश्यकताओं पर निर्भर करता है की आवश्यकता हो सकती।

क्या आपका मतलब है?

+0

कारण है कि मैं पूछ रहा हूँ का हिस्सा है क्योंकि मैं .xcodeproj से अधिक खींच करने की कोशिश की, और यह सभी उप-फ़ोल्डर कॉपी नहीं किया है। इससे भी बदतर, जब मैंने इसे फिर से खींचने के लिए .xcodeproj को हटाने का प्रयास किया, तो मैंने डिस्क से .xcodeproj को गलती से हटा दिया! यह एक मजेदार दिन था .... –

+0

ऐसा इसलिए नहीं है क्योंकि एक्सकोड प्रोजेक्ट फाइलों के संदर्भों को संदर्भित करता है, न कि वास्तविक प्रतियां। यही कारण है कि आपकी फ़ाइल को हटाने से वास्तव में डिस्क से मूल फ़ाइल हटा दी गई है। और चूंकि केवल संदर्भ संग्रहीत किए जाते हैं, इसलिए उपफोल्डर्स की प्रतिलिपि बनाई जाती है (केवल तभी जब उन्हें परियोजना में संदर्भित किया जाता है)। – JiaYow

+0

एलेक्स, github, या कुछ svn सेवा का उपयोग शुरू करें। इस तरह आप हार नहीं पाते हैं और चारों ओर खेल सकते हैं। –

1

खोजक से अन्य xcode फ़ाइल में xcode फ़ाइल खींचें और छोड़ें। यह आपको फ़ाइल की प्रतिलिपि बनाने के लिए कहेगा, फिर चेक बॉक्स को चेक करें और यह आपकी प्रोजेक्ट में कॉपी करेगा।

3

"फ़ोल्डर संदर्भ बनाने" के बजाय "समूह" समूह चुनना सुनिश्चित करें। यदि आपका फ़ोल्डर पीले रंग की जगह नीला है, तो आपके पास फ़ोल्डर संदर्भ है। फ़ोल्डर पीला होना चाहिए।

1

सुनिश्चित करें कि परियोजना आप subproject के रूप में यह खुला नहीं है, इससे पहले कि आप जोड़ सकते हैं या इसे छोड़ जोड़ना चाहते हैं।

+1

धन्यवाद! यह मेरे लिए एक जीवन बचतकर्ता था। –

+0

@ विबोहर ग्यायल आपका स्वागत है, मैंने कुछ समय पहले इसके साथ भी संघर्ष किया :)। – Raspu

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