質問: Obj-C、DEBUGは、Xcodeをアップグレードして以来、動作していないログステートメントを定義していますか? 最近私がXcodeをアップグレードしても動作しないまで、私はデバッグステートメントを使って満足していました。 ``` #ifdef DEBUG # define SQLLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); #else # define SQLLog(...) #endif ``` これを解決するために何をする必要がありますか?
回答: なぜそれが動作するのか説明していないし、Xcodeをアップグレードした後でそれをやめたが、おそらくそれは `NDEBUG` を使っているという事実と関係がある。 `NDEBUG` は標準で定義されており、 `DEBUG` は定義されていません。 問題を簡単に解決するには、プロジェクトのビルド構成の下に `DEBUG` シンボルを明示的に定義する必要があります。 この投稿については、 _DEBUGとNDEBUG をご覧ください。