2009-06-07 22 views
6

के भीतर से क्लैंग स्टेटिक विश्लेषक का उपयोग करना क्योंकि चूंकि "वर्तमान प्रोजेक्ट निर्देशिका" के लिए कोई एक्सकोड स्क्रिप्ट चर नहीं है, तो आप एक्सकोड से अपने वर्तमान प्रोजेक्ट पर क्लैंग स्टेटिक विश्लेषक चलाने के लिए स्क्रिप्ट मेनू आइटम कैसे बना सकते हैं?एक्सकोड

#!/bin/bash 
result=$(osascript << END 
tell application "Xcode" 
tell active project document 
    set projectPath to path as string 
end tell 
end tell 
return projectPath 
END 
) 

cd "$result" 

/Developer/clangchecker/scan-build -k -V xcodebuild -configuration Debug -sdk iphonesimulator3.0 

जाहिर है आप बजना की अपनी स्थापित करने के लिए पथ को समायोजित करने की आवश्यकता होगी, और के संस्करण को समायोजित:

उत्तर

3

XCode स्क्रिप्ट मेनू आइटम से, "संपादन उपयोगकर्ता स्क्रिप्ट" निम्न स्क्रिप्ट दर्ज एसडीके आप उपयोग कर रहे हैं।

स्कैन-बिल्ड का उपयोग करने से पहले तुरंत "सभी साफ़ करें" याद रखें, या परिणाम अपूर्ण हो सकते हैं।

+0

हर बार जब मैं इस स्क्रिप्ट को चलाता हूं, तो मुझे इसे फिर से चलाने के लिए एक्सकोड को पुनरारंभ करना होगा। क्यूं कर? स्क्रिप्ट को दोबारा शुरू किए बिना दो बार चलाने का कोई तरीका है? यह मुझे इसे फिर से कॉल करने की अनुमति नहीं देगा! –

+2

हमम .... मुझे कभी समस्या नहीं थी ... फिर भी: यह सुविधा एक्सकोड 3.2 में बनाई गई है, मैं बस अपग्रेड करूँगा, और इस स्क्रिप्ट को पूरी तरह से भूल जाऊंगा। – mmc

0

मेरा मानना ​​है कि $ {PROJECT_DIR} पर्यावरण चर वह है जो आप बिल्ड-चरण स्क्रिप्ट चलाने वाली प्रोजेक्ट की निर्देशिका के लिए चाहते हैं।

+0

$ {PROJECT_DIR} एक बिल्ड चरण स्क्रिप्ट में काम करेगा, हां, लेकिन उपयोगकर्ता स्क्रिप्ट में नहीं जिसे स्क्रिप्ट मेनू से ट्रिगर किया जा सकता है। – mmc

+0

हां, आपका प्रश्न बहुत स्पष्ट था। माफ़ कीजिये। आप अभी भी अपनी परियोजना में एक क्लैंग लक्ष्य बना सकते हैं (यह वही है जो मैं आमतौर पर करता हूं)। एक मेनू स्क्रिप्ट के रूप में साफ नहीं है (और आपको निश्चित रूप से प्रत्येक प्रोजेक्ट में एक बनाना है), लेकिन यह अच्छी तरह से काम करता है। –

+0

आह हे! मैंने एक अलग लक्ष्य स्थापित करने का भी विचार नहीं किया था। इस बात से संपर्क करने के कई अलग-अलग तरीके, मुझे लगता है। – mmc

1

एफवाईआई, एक्सकोड 3.2 (हिम तेंदुए केवल मुझे विश्वास है) "बिल्ड और विश्लेषण" मेनू विकल्प में क्लैंग स्टेटिक विश्लेषक शामिल है। Xcode 3.2 के

http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

एक नकारात्मक पक्ष यह है (एक तरफ से यह केवल हिम तेंदुए पर काम कर रहा) है कि v2.x सिम्युलेटर काम करने के लिए नहीं है - वास्तव में, मैं पदों कि v2 का संकेत देखा है। एक्स बिल्ड बिल्कुल समर्थित नहीं हैं।