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件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください