oimo’s blog

エンジニア(♀)のブログです

Missing Localizabilityを使う

xcodeにもともと備わっている静的解析機能を使います。
超簡単でした。

■静的解析とは
コーディングをせずに検証する解析方法
今回のMissing Localizabilityはそのうちの1つです

■Missing Localizabilityとは
.textに入れる値をダミー値のままリリースしちまった!を解消
他言語対応してねーぜ!を解消

■準備
以下の値をYESにすればいいだけ
Your Project > Build Settings > All > Static Analyzer > Missing Localizability

■使用方法
shift + command + B

■使用結果
該当ロジック部分にこんなんが出てくる

f:id:oimo-blog:20160806134438p:plain
・Error = でお知らせ
・worning = でお知らせ
・Missing Localizability = でお知らせ

■チェック対象外にしたい時(ベタでOKの時)
お知らせが出るパターン :label.text = @"OK";
お知らせが出ないパターン:NSLocalizedString(@"OK",nil);
第二引数はコメントを入れられるみたいだけど今回は必要ないのでnil
表示言語をプログラム側で制御したい時には入れた方が優しいのかも。

■所感
よく使う「command + R」「command + B」「shift + command + K」では
"この子はお知らせを出さない" っていう少々控えめなところが好きw
「shift + command + B」ってやらないとこの子は出現しないようです。

「ちなみに」を2つほど...

1、この設定をするとproject.pbxprojが更新されます。
→ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
2、#defineで定数定義したものでもお知らせは出ます。
→ #define TEST @"test"
→ label.text = TEST; これでも出るって意味

■総括
UT時よりもリリース前あたりでいっちょコイツこの子をカマすのが
品質向上としての効果は大きい、そんな印象を持ちました。

以上です(๑•́‧̫•̀๑)