Using Clang Static Analyzer from within Xcode

2019-01-24 13:55发布

问题:

Since there is no Xcode script variable for "current project directory," how can you create a script menu item to run the Clang Static Analyzer on your current project from Xcode?

回答1:

From the XCode script menu item, "Edit User Scripts" enter the following script:

#!/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

Obviously, you will need to adjust the path to your install of Clang, and adjust to the version of the SDK you are using.

Remember to do a "Clean All" immediately before using scan-build, or the results may be incomplete.



回答2:

FYI, Xcode 3.2 (Snow Leopard only I believe) includes the Clang Static Analyzer in the "Build and Analyze" menu option.

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

One downside of Xcode 3.2 (aside from it only working on Snow Leopard) is that the v2.x Simulators don't seem to work - in fact, I've seen posts indicating that v2.x builds are not supported at all.



回答3:

I believe the ${PROJECT_DIR} environment variable is what you want for the directory of the project running a build-phase script.



标签: xcode clang