2012-05-28 15 views
7

एक्सकोड में, फ़ाइल> वर्कस्पेस सेटिंग्स में सेटिंग्स बदलना ... प्रत्येक एक्सकोड उपयोगकर्ता के लिए अलग से संग्रहीत किया जाता है। मैं वर्कस्पेस सेटिंग्स को सभी उपयोगकर्ताओं के लिए समान सेट करना चाहता हूं। मेरा लक्ष्य यह है कि एक ही रिश्तेदार निर्देशिका में निर्मित लक्ष्यों की प्रतिलिपि बनाई जाए।एक्सकोड: स्रोत नियंत्रण में वर्कस्पेस सेटिंग्स.एक्ससीसेटिंग जोड़ना

डिफ़ॉल्ट कार्यक्षेत्र सेटिंग्स तक में जमा हो जाती:

[WorkspaceName] .xcworkspace/xcuserdata/[उपयोगकर्ता नाम] .xcuserdatad

मैं क्षमता यह सभी उपयोगकर्ताओं तो मैं कर सकते हैं भर में साझा करना चाहते हैं इसे संस्करण नियंत्रण में जोड़ें।

+2

स्थापित करने के लिए मैं यह भी करने के लिए कोशिश कर रहा हूँ आदेश देता है। वर्कस्पेस होने का बिंदु क्या है यदि आप वर्कस्पेस से संबंधित सेटिंग्स को स्टोर नहीं कर सकते हैं? – devios1

उत्तर

6

हम एक छोटी सी पार्टी स्क्रिप्ट है कि चार डिफ़ॉल्ट लिखने प्रदर्शन लेखन समाप्त हो गया सही सेटिंग्स

scriptPath="$(dirname "$0")" 
cd "$scriptPath" 
fullPath=$(pwd) 
settingsFile="$fullPath"/<project>.xcworkspace/xcuserdata/$USER.xcuserdatad/WorkspaceSettings.xcsettings 

cp -f "$settingsFile" "$settingsFile.plist" 

defaults write "$settingsFile" BuildLocationStyle CustomLocation 
defaults write "$settingsFile" CustomBuildLocationType RelativeToWorkspace 
defaults write "$settingsFile" CustomBuildProductsPath "Build/Products" 
defaults write "$settingsFile" CustomBuildIntermediatesPath "Build/Intermediates" 

cp -f "$settingsFile.plist" "$settingsFile" 
+0

+1, दिलचस्प समाधान। मुझे लगता है कि यह सुनिश्चित करने का कोई मूर्ख-प्रमाण तरीका नहीं है जब भी कोई नया कार्यक्षेत्र स्थापित करता है, यद्यपि? – mpontillo

+0

मैंने इस विचार का उपयोग किया लेकिन निम्नलिखित जानकारी जोड़ दी: * मैंने स्क्रिप्ट के साथ बिल्ड फेज * के रूप में एक नया "कुल" लक्ष्य बनाया * मैंने पहली पंक्ति को: 'scriptPath = "$ PROJECT_FILE_PATH"' * बदल दिया 4. लाइन - प्रोजेक्ट से ब्रैकेट को हटाएं * मैंने अंतिम पंक्ति को 'cp -f "$ सेटिंग्सFile.plist" "$ सेटिंग्सफाइल" 2> और 1>/dev/null' अब एक बॉट इसका उपयोग कर सकते हैं एकीकरण के लिए भी। – gamma

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