2012-06-15 16 views
35

के लिए आउटपुट निर्देशिका को कैसे बदलें I वर्कस्पेस का उपयोग कर रहा हूं जहां मेरे पास एक मुख्य ऐप प्रोजेक्ट है और फिर एक स्थिर लाइब्रेरी प्रोजेक्ट जिसका उपयोग मुख्य ऐप द्वारा किया जाता है। मैं मुख्य ऐप प्रोजेक्ट निर्देशिका में libX.a को थूकने के लिए स्थिर लाइब्रेरी प्रोजेक्ट चाहता हूं, क्योंकि मैं इस libX.a को अपने गिट रेपो में धक्का देना चाहता हूं।लक्ष्य

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

मैंने एमटी स्थैतिक lib लक्ष्य के लिए "बिल्ड उत्पाद पथ" को "$ (SRCROOT) /../ SharedData" में बदलने का प्रयास किया लेकिन इसका कोई प्रभाव नहीं पड़ा।

धन्यवाद!

उत्तर

35
  1. फ़ाइल -> परियोजना सेटिंग्स पर जाएं।

  2. व्युत्पन्न डेटा स्थान के अंतर्गत उन्नत बटन पर क्लिक करें। स्थान के निर्माण के तहत कस्टम का चयन करें और अपनी आउटपुट निर्देशिका चुनें। यह वैरिएबल $ (BUILD_DIR) को उस फ़ील्ड में सेट किए गए अनुसार बदल देगा।

  3. क्लिक करें और अपनी लक्षित सेटिंग्स पर जाएं। बिल्ड स्थान के तहत आप अब निर्दिष्ट कर सकते हैं कि $ (BUILD_DIR) मैक्रो के आधार पर लक्ष्य कहां आउटपुट हैं।

+2

यह एक XCode की स्थापना, कुछ नहीं तो आप किसी भी सीवीएस करने के लिए जाँच कर सकते हैं लगता है। – noobular

+0

यदि मेरी परियोजना 'ए' है और मैं' ए/रिलीज 'में अपना निष्पादन योग्य चाहता हूं तो यह काम नहीं कर रहा है; मैं केवल इसे 'ए/रिलीज/रिलीज' के तहत रखने में सक्षम हूं। कोई सुराग? –

30

एक्सकोड 5 अपतटीय 6.3 के लिए अद्यतन निर्देश।

1. Go to File -> Project settings 
    2. Click the Advanced button 
    3. Select "Custom" and select "Relative to Workspace" in the pull down 
    4. click done, done 

और आप कर चुके हैं!

+5

फ़ाइल -> वर्कस्पेस सेटिंग्स ... –

+2

यह बड़े प्रक्षेपण के लिए काम नहीं करेगा, क्योंकि यह कॉन्फ़िगरेशन उपयोगकर्ता विशिष्ट xcuserdatad फ़ोल्डर में सहेजता है। – Pavel

+1

वर्कस्पेस सेटिंग्स में परिवर्तन गिट – hariszaman

18

यहां एक समाधान है जिसे आप स्रोत नियंत्रण में देख सकते हैं, और जिसे मैंने एक्सकोड 6.2 के साथ काम सत्यापित किया है।

  1. अपने प्रोजेक्ट में कोई .xcconfig फ़ाइल जोड़ें - देख this SO question for details.
  2. .xcconfig फ़ाइल में, Xcode मानक वातावरण चर PROJECT_TEMP_DIR, CONFIGURATION_BUILD_DIR, और BUILT_PRODUCTS_DIR जहां फाइलों को समाप्त करना चाहते हैं को इंगित करने के लिए निर्दिष्ट।

पढ़ना एप्पल के xcconfig format reference, यह प्रतीत होता है कि बस अधिभावी OBJROOT और .xcconfig फ़ाइल चाल करना होगा में SYMROOT - लेकिन Xcode 6.2 पर अपने परीक्षण में, उसमें बदलाव करने कोई प्रभाव नहीं है। आपको ऊपर सूचीबद्ध उन तीन विशिष्ट पर्यावरण चर बदलना होगा।

// Intermediate build files go here 
PROJECT_TEMP_DIR = $(SRCROOT)/build/$(PROJECT_NAME).build 

// Build-related files for the active build configuration go here 
CONFIGURATION_BUILD_DIR = $(SRCROOT)/build/$CONFIGURATION 

// The final product executables and other build products go here 
BUILT_PRODUCTS_DIR = $(SRCROOT)/build/$CONFIGURATION 
+2

में दिखाई नहीं देते हैं यह एकमात्र सही उत्तर है! – Pavel

+0

एक साइड नोट के रूप में, मुझे विश्वास है कि [यह एक्सकोड में एक बग है] (https://forums.developer.apple.com/message/234817/) जहां परियोजना फ़ाइलों से सेटिंग्स से पहले ओब्राइट और सिमरोट का मूल्यांकन किया जाता है । – Pavel

2

आप अपने प्रोजेक्ट के निर्माण पथ बदलना चाहते हैं आप बदल सकते हैं:

यह वही है मैं एक Xcode 6.2 .xcconfig फ़ाइल में डाल दिया तो मध्यवर्ती फाइल और निष्पादनयोग्य उनके "पारंपरिक" स्थानों में जाने है निम्नलिखित चरणों का उपयोग कर।

1) एक्सकोड> प्राथमिकताएं चुनें और स्थान पर क्लिक करें।

2) व्युत्पन्न डेटा सेटिंग के लिए उन्नत बटन पर क्लिक करें।

3) उपलब्ध विकल्पों में से एक का निर्माण स्थान का चयन करें, और पूर्ण क्लिक करें।

पूर्व। अगर आप से बिल्ड स्थान विकल्प 'कस्टम' चुनें अपने निर्माण पर उत्पन्न हो जाएगा '/ उपयोगकर्ताओं/XYZ/डेस्कटॉप/निर्माण/उत्पाद' स्थान

+0

यह सभी परियोजनाओं के लिए निर्माण पथ को बदलता है। –

0

Xcode 8.x में मैं एक आदेश के साथ derivedData निर्देशिका सेट एक .sh फ़ाइल में लाइन विकल्प जो परियोजना बनाता है। डेवलपर अपनी उपयोगकर्ता निर्देशिका (डिफ़ॉल्ट एक्सकोड वरीयता) में निर्माण कर सकते हैं, जबकि आधिकारिक बिल्ड पारंपरिक क्षेत्र में निर्माण बनाता है:

SCRIPT_DIR = "$ (सीडी" $ (डायरनाम "$ {BASH_SOURCE [0]}") & & पीडब्ल्यूडी) "-workspace 'मेरे project.xcworkspace' -scheme 'अपने प्रोजेक्ट' विन्यास रिलीज -derivedDataPath '$ SCRIPT_DIR/निर्माण'

0
@ GP-सांकेतिक शब्दों में बदलनेवाला के अनुसार

xcodebuild, परिदृश्य हो जाएगा xcode 9 के लिए निम्नलिखित। * चित्र में दिए गए चरण का पालन करें

enter image description hereenter image description hereenter image description here

और हो गया है

यही सब, धन्यवाद

+0

या आप लीगेसी का चयन कर सकते हैं, फिर प्रोजेक्ट निर्देशिका के सापेक्ष बिल्ड उत्पाद पथ सेट (अपने लक्ष्य की बिल्ड सेटिंग्स में) द्वारा प्रति लक्ष्य सेटिंग निर्दिष्ट करें। – ideawu

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