Obj-C、DEBUGは、Xcodeをアップグレードして以来、動作していないログステートメントを定義していますか?

最近私がXcodeをアップグレードしても動作しないまで、私はデバッグステートメントを使って満足していました。

#ifdef DEBUG
#   define SQLLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), 
                __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define SQLLog(...)
#endif

これを解決するために何をする必要がありますか?

1

1 答え

なぜそれが動作するのか説明していないし、Xcodeをアップグレードした後でそれをやめたが、おそらくそれは NDEBUG を使っているという事実と関係がある。 NDEBUG は標準で定義されており、 DEBUG は定義されていません。

問題を簡単に解決するには、プロジェクトのビルド構成の下に DEBUG シンボルを明示的に定義する必要があります。

この投稿については、 _DEBUGとNDEBUG をご覧ください。

2
追加された
_DEBUGとNDEBUGは効果がありませんでした:(ありがとうあなたの入力
追加された 著者 Jules,
Ahhh #ifndef NDEBUGは:)
追加された 著者 Jules,
ねえ、私は喜んで、NDEBUGは働いた! :-)
追加された 著者 sergio,