ローカライズしていない文字列の警告が表示される

ローカライズが不要な文字列に対してもXcode上でUser-facing text should use localized string macroという警告が表示されてしまう。

警告を抑制するインライン関数を定義する

以下のようなメソッドを定義することで警告を抑制することが可能になる。

__attribute__((annotate("returns_localized_nsstring")))
static inline NSString* NSNonLocalizedString(NSString* string, NSString* comment) {
  return string;
}

UITextField* textField = [[UITextField alloc] initWithFrame:CGRectZero];
textField.text = NSNonLocalizedString(@"Debug", nil);