NSAssertを無効にするには

Objective-CでiPhoneの開発やってると、NSAssertでいろいろチェックするのはよくあるかと思います。

でもおいらはえせプログラマーなのでAssertを使うということに未だに慣れないです。なんかif文のノリで、条件式が真ならAssert内のメッセージが表示される、みたいに思っちゃっていっつも逆の式書いちゃいます……

で、リリース時はNSAssertは要らないのでそれらを無効にする方法です。ググっても英語でしか出てこなかったし。

Xcodeでプロジェクトを開いて、ターゲットの情報から、Other C Flagsというのを探します。その値に「-DNS_BLOCK_ASSERTIONS=1」を書き足せば、NSAssertが無効になります。なので、DistributionのConfigurationだけに書いておけばいいですね。下記に書いてありました。

Re: Removing NSLog & NSAssert for deployment
http://lists.apple.com/archives/cocoa-dev/2002/Feb/msg00424.html

ちなみにOther C Flagsが無い場合はOTHER_CFLAGSというキーで書き足せばいいみたいです。

de-co-de: XCODE 3.1 Other C Flags
http://de-co-de.blogspot.com/2009/01/xcode-31-other-c-flags.html

2件のコメント

コメントを残す

メールアドレスが公開されることはありませんし、空欄で大丈夫です。っていうかコメント以外空欄で良いです。気軽にコメントして下さい。
Email won't be published. Or you can leave it blank. I mean you can leave everything blank but comment. Feel free to leave a comment, thanks.