Skip to content

Instantly share code, notes, and snippets.

@ryu1
Created December 18, 2019 06:36
Show Gist options
  • Select an option

  • Save ryu1/c49037d6661e893b196f7ec949287c27 to your computer and use it in GitHub Desktop.

Select an option

Save ryu1/c49037d6661e893b196f7ec949287c27 to your computer and use it in GitHub Desktop.
How to use Clang Static Analyze

How to use Clang Static Analyze

Requirements

How to use

  1. xcodebuildコマンドで使用されるXcodeのバージョンを設定する。

    Xcode6.4が使用されている場合、

     $ xcode-select -p 
     /Applications/Xcode6.4.app/Contents/Developer
     

    Xcode7に変更し、

     $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
     

    切り替わったか確認する。

     $ xcode-select -p 
     /Applications/Xcode.app/Contents/Developer
     
  2. sdkを確認する。

    以下の場合、iphonesimulator9.1となる。

     $ xcodebuild -showsdks
     
     OS X SDKs:
     	OS X 10.11                    	-sdk macosx10.11
     
     iOS SDKs:
     	iOS 9.1                       	-sdk iphoneos9.1
     
     iOS Simulator SDKs:
     	Simulator - iOS 9.1           	-sdk iphonesimulator9.1
     
     tvOS SDKs:
     	tvOS 9.0                      	-sdk appletvos9.0
     
     tvOS Simulator SDKs:
     	Simulator - tvOS 9.0          	-sdk appletvsimulator9.0
     
     watchOS SDKs:
     	watchOS 2.0                   	-sdk watchos2.0
     
     watchOS Simulator SDKs:
     	Simulator - watchOS 2.0       	-sdk watchsimulator2.0
     
  3. 静的解析を実行する。

     $ cd /PATH/TO/XOCODE/PROJECT
     $ xcodebuild clean -configuration Debug
     $ scan-build -k -V xcodebuild -configuration Debug -sdk iphonesimulator9.1
     

    ブラウザが起動し、解析結果が表示される。終了はターミナルでcntl+cを入力。

    尚、この解析結果を取得したい場合、以下の方法で、出力ディレクトリを確認可能。

    • scan-buildコマンド実行時に、標準出力に表示されるCLANG_ANALYZER_OUTPUT_DIRを確認する。

        $ scan-build -k -V xcodebuild -configuration Debug -sdk iphonesimulator9.1
        ...
        ...
        Build settings from command line:
        	...
        	CLANG_ANALYZER_OUTPUT_DIR = /var/folders/_s/_sntm5z10dl17s8q_j38j6t800000gx/T/scan-build-2015-12-01-095856-22791-1
        	...
        ...
        
    • scan-buildコマンドを実行するとき、-oオプションを付与し出力先を指定する。

        $ scan-build -o /Path/To/Output -k -V xcodebuild -configuration Debug -sdk iphonesimulator9.1
        
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment