5

NS_BLOCK_ASSERTIONS通話だけをオフにするか、通話もオフにしますNSAssertassert()assert(...)私のアプリは、ステートメントの行のリリース モードでクラッシュします。

ドキュメントには、通話が無効になっているNSAssertかどうかについてのみ記載されており、通知されていません。assert()

私に関連する質問がいくつかありますが、答えていません。ここにそれらをリンクしています:

Objective-C
NSAssert と assert の NS_BLOCK_ASSERTIONS: どちらをいつ使用しますか?
リリース ビルドで NSAssert が無効になっているかどうかを知る方法は?

4

1 に答える 1

8

いいえ、次の記号assert()で制御されます。NDEBUG

#ifdef NDEBUG
#define assert(e)   ((void)0)
#else
...

( /usr/include/assert.hXcode コマンド ライン ツールがインストールされているかどうかを確認するか、インストールされていない場合は Xcode.app バンドルの他の場所を確認してください)。

于 2013-08-20T16:10:05.770 に答える