XcodeでTODO:などの警告を表示させる方法


はじめに

警告の表示方法についての備忘録です。

方法1

Swift4.2までは#warning("")などが使えなかったので、お決まりのスクリプトです。
使用方法はBuildPhaseのRunScriptに以下を追加。


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

使い方

// TODO:
// FIXME:
// ERROR:

を使用した場合に警告およびエラーがビルド実行時に表示されるようになります。

結果

方法2

エディタプレースホルダーを使用する強引なやり方です。
ビルドが通らないので使い方は限られますし、本来の使い方ではないですね。
予測変換で出したコードの引数とかに出てくるこれですね。

生成方法は至って簡単。
以下のように文字を<# #>で挟めばエディタプレースホルダーとして変換されます。

使い方

<#hogehoge#>

結果

方法3

Swift4.2以降で使えるようになったやつです。

使い方

 #warning("hogehoge")
 #error("fugafuga")

結果

まとめ

個人的にはまだ方法1のやり方8割で、2割で方法3のやり方でやっています。
まず方法2はやらないですね。
警告内容も該当箇所いかないとわからないですし。
(なぜ書いたんだって話になりますが...)

簡易的な備忘録でしたが、ご覧いただきありがとうございました。

ひっそりとブログも始めました。
kazyblog