Xcode4のTODOタグを警告に出力する

Xcode3以前ではTODO等のタグコメントでファンクションメニューに表示されていましたが、Xcode4からメソッド内でのTODOタグが拾われなくなりました。


!!!以外は、メソッド外ではちゃんと拾われるんですが、どうも挙動不審な感じなのでおそらくXcode4のバグかもしれないです。

TODOタグはかなり頼っていたので、調べたところ良さそうな解決策がありました。

Make Xcode nag you about unfinished TODOs


ビルドスクリプトでTODOタグを警告メッセージとして出力する

対象ターゲットの「Build Phase」で「Add Build Phase」から「Add Run Script」を選択します。


追加されたRun Scriptに下記のスクリプトを記述する

KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:"
find ${SRCROOT} \( -name "*.h" -or -name "*.m" \) -print0 | \
    xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
    perl -p -e "s/($KEYWORDS)/ warning: \$1/"


ビルドすると警告として出力されるようになります。



いづれXcodeの方で修正されるかもしれませんが、単にTODOタグを拾いたいだけなのでこれで運用しようと思います。