2011-05-11 12 views
43

मैं हडसन के साथ चलाने के लिए अपना आईफोन प्रोजेक्ट स्थापित कर रहा हूं, मेरी बिल्ड स्क्रिप्ट स्थानीय रूप से ठीक काम करती है, लेकिन मेरे हिम तेंदुए पर निम्न आदेश निष्पादित करते समय सर्वर मैकxcodebuild के साथ बिल्डिंग <IDEWorkspace, 0x2004cebc0>/"runContextManager.runContexts"

xcodebuild -sdk iphoneos4.3 -workspace Moments.xcworkspace/ -scheme Moments -configuration DistributionTest 

मैं निम्न त्रुटि संदेश मिलता है।

Build settings from command line: SDKROOT = iphoneos4.3

2011-05-11 10:32:17.729 xcodebuild[4151:903] WARNING: Timed out waiting for /"runContextManager.runContexts" (10.010780 seconds elapsed) xcodebuild: error: The workspace 'Moments.xcworkspace/' does not contain a scheme named 'Moments'.

के बारे में क्या टाइमआउट है ?! और यह निश्चित रूप से वहां मौजूद क्षणों की योजना क्यों नहीं मिल सकता है। यदि मैं बिल्ड सर्वर पर xcode में वर्कस्पेस खोलता हूं, तो मैं योजना देख सकता हूं।

उत्तर

97

जाँच "योजनाएं प्रबंधित करें" संवाद में "साझा" बॉक्स Project.xcodeproj/xcshareddata/xcschemes/Scheme.xcscheme को योजनाओं ले जाता है

इसलिए भले ही आप एक साफ चेकआउट के माध्यम से खोला कभी नहीं किया गया है कि है xcode ui, यह काम करेगा। हम इसका उपयोग करते हैं ताकि बिल्डबॉट हमारे ऐप्स

+6

किंवदंती! धन्यवाद। – jennas

+1

धन्यवाद, आदमी! आपने मेरा दिन बचा लिया है !!!! – Denis

+0

वाहू !!! इस पृष्ठ पर आने वाले लोग !!! चेक किया गया जवाब अच्छा है लेकिन यह भी बेहतर है! धन्यवाद @ डेविड! –

10

दुर्भाग्यवश xcodebuild XCode द्वारा उत्पन्न कुछ प्रति उपयोगकर्ता फ़ाइलों पर निर्भर करता है। इसे ठीक करने के लिए आप अपने हडसन उपयोगकर्ता के रूप में लॉग इन कर सकते हैं और XCode UI को एक बार चला सकते हैं। वह आवश्यक फाइलें बनाएगा।

मैं वर्तमान में इस पर काम करने की कोशिश कर रहा हूं, लेकिन आवश्यक फाइलों को इमारत से पहले स्रोत पेड़ में कॉपी कर रहा हूं।

यदि आप पृष्ठभूमि में xcodebuild और XCode चला रहे हैं, तो आवश्यक डेटा प्राप्त करने के लिए xcodebuild XCode से संपर्क करेगा। चूंकि एक्सकोड नहीं चल रहा है, इसलिए आपको टाइमआउट मिलता है।

+0

आह, कमाल! धन्यवाद! – Erik

+0

एफवाईआई नीचे दिया गया उत्तर बहुत अधिक भरोसेमंद काम करता है, खासकर अगर आपके पास एक ही परियोजना में कई नौकरियां हैं। –

-2

योजनाएं डिफ़ॉल्ट रूप से उपयोगकर्ताओं (और आपके बिल्ड-सर्वर) के बीच साझा नहीं की जा सकती हैं। David mentions के रूप में, आप उन्हें साझा कर सकते हैं, लेकिन आप इसके बजाए केवल लक्ष्य को भी आमंत्रित कर सकते हैं, जिन्हें साझा किया जाता है।

तो बजाय

xcodebuild -scheme Foobar 

यह

xcodebuild -target Foobar 

के बाद से योजनाओं को आम तौर पर लक्ष्य के समान नाम हैं होगा।

+0

यदि मैं सही ढंग से दस्तावेज़ को समझता हूं तो आप लक्ष्य फ़्लैग का उपयोग नहीं कर सकते हैं यदि आप उपयोग कर रहे हैं वर्कस्पेस ध्वज। मतलब यह है कि यदि आप वर्कस्पेस पर भरोसा करते हैं तो आपको योजनाओं का उपयोग करने की आवश्यकता है और समस्या का हल डेविड और कॉर्नेलियस द्वारा प्रदान किया गया है – Erik

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