ReactiveCocoaを使っているとあまり関係ないですが、KVC/KVOの文字列を間違っていると悲しいですよね。
今回紹介するClang-KeyPathValidatorはKVC系のメソッドのリテラルをコンパイル時にチェックして、警告を出してくれるClangのプラグインです。
Xcodeと組み合わせて動作できるようなので試してみました。
ReactiveCocoaを使っているとあまり関係ないですが、KVC/KVOの文字列を間違っていると悲しいですよね。
今回紹介するClang-KeyPathValidatorはKVC系のメソッドのリテラルをコンパイル時にチェックして、警告を出してくれるClangのプラグインです。
Xcodeと組み合わせて動作できるようなので試してみました。
clangのPythonバインディング でObjective-Cも読み込めるはずなので、試してみました。
ClangFormat-Xcodeは、今月リリースされたClang 3.4に新たに追加されたClangFormatを使って、ソースコードを整形するXcodeプラグインです。
UIViewController
のviewDidAppear:
のように、子クラスのメソッド内で親クラスのメソッドを呼ぶことを強制させたいことがあります。
このような場合に、Appleのドキュメントではその旨が書かれていたりします (例えば “If you override this method, you must call super at some point in your implementation.”) が、 うっかり忘れても警告なしでコンパイルが成功してしまいます。
NS_REQUIRES_SUPER
を使うと、このようなときに警告を出してくれるようになります。
なお、詳細はClangの言語拡張を参照してください。
Clang Language Extensionsによると、C++11のlambda式からBlocksポインタへの変換が自動で行われるみたいなので試してみました。
なお、確認にあたって利用したXcodeのバージョンは5.0 (5A1412)です。
前回の記事「JenkinsでObjective-Cのコード重複を採れるようにする」でObjective-Cのコード重複をJenkinsで採れるようにしました。
今回はJenkinsのClang Scan-Build Pluginを導入して、Objective-Cソースコードの静的解析結果のグラフを表示できるようにするまでの手順を紹介します。