問題タブ [nsassert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - コードが iOS リリース バイナリで NSAssert を呼び出さないことを確認する方法
リリースの iOS バイナリをビルドするときにコードラインで発生する NSAssert 呼び出しを無効にしたいのですが、それらが無効になっていることを確認したいと思います。それらが無効になっていることを確認するにはどうすればよいですか?
リリース ビルドで NSAssert 呼び出しを無効にするために、xcodebuild で実行しているコマンドライン リリース ビルドに NS_BLOCK_ASSERTIONS=1 (ここから) 定数を追加して、すべてのビルドを含むアプリケーションのビルド全体で NSAssert がブロックされるようにしました使用する静的ライブラリの。多数の静的ライブラリがあるため、各ライブラリのプロジェクト ファイルでこのフラグが設定されていることを確認するにはメンテナンスが多すぎるため、このグローバルなアプローチが推奨されます。次のようになります。
次に、NSAssert への呼び出しが実際にブロックされていることを確認するために、ここで私が試みていることとアドバイスを求めています。結果のバイナリからシンボル テーブルをダンプし、NSAssert マクロが呼び出す実際のメソッドを grep しています。このような:
問題は、シンボルに NSAssertionHandler が表示されていることです。
私はnm
間違って使用していると思われます。または、NSAsserts を使用するサードパーティ ライブラリとリンクしているためにこの記号が表示されるか、iOS API 自体が NSAsserts を使用しているため、検証手順が混乱する可能性があります。リリース ビルドでコードの NSAssert への呼び出しをすべてブロックしたいのですが、そうであることを確認するにはどうすればよいですか? 任意の提案をいただければ幸いです!
cocos2d-iphone - NSInternalInconsistencyException' 'GL_CLAMP_TO_EDGE は NPOT ディメンションで使用する必要があります'
プロジェクトを Kobold2d 1.1.2 から 2.0.4 にアップグレードしたところ、ビルドを試みるたびにこのメッセージが表示されます。
基本的に、私のイメージが 2 の累乗ではないことを伝えていることはわかっていますが、kobold2d の古いバージョンには同じ NSASERT があり、すべて問題なく動作します。
objective-c - Xcode アサーションの失敗メッセージがコンソール ログに表示されない
私は最新の Xcode を使用しておりNSAssert()
、コード内に呼び出しを配置しています。アサーションの 1 つが失敗すると、実行が停止し、コンソール ログにアサーション エラーが発生したことが示されますが、NSAssert()
呼び出しのメッセージはコンソール ログに表示されません。例えば:
「Foo bar」というメッセージは表示されません。コンソールログに表示されます。そうすべきだというのが私の理解です。何が起こっているのでしょうか?
objective-c - NS_BLOCK_ASSERTIONS は静的ライブラリのアサーションをブロックしません
NS_BLOCK_ASSERTIONS は、静的ライブラリからのアサーション エラーをブロックしません。静的ライブラリに起因するアサーションの失敗をどのように抑制しますか?
ios - 通常のビルド用のios NSAssertアナログ?
最近、NSAssert はデバッグ モードでのみ機能することに気付きました。通常のビルドで動作するアナログはありますか?
ios - stringWithFormat でこの NSAssert がコンパイルされないのはなぜですか?
stringWithFormat は文字列を返す必要があります。なぜこのステートメントはコンパイルされないのですか
いつ
コンパイルしますか?