1
私が使用しているサードパーティ製のバイナリライブラリの1つに、実行時に(個人情報が漏れる)不都合なNSLog
というステートメントがあります。フレームワークの開発者はこの行を変更したくないので、私は選択肢がありません(バイナリパッチはオプションでも、プロバイダの切り替えもありません)。iOSフレームワークのシンボルを無効にする
私自身のNSLog
シンボルを定義して、不要なロギングをフィルタリングし、他のロギングコールを元のNSLogに委譲することはできますか? Appleがコアフレームワークのシンボルを無効にするアプリケーションを拒否しますか?
はい、システム1と同じ定義を使用できます。 NSLogは可変引数関数であるため、オーバーライドする実装でNSLogvのようなものが必要になるでしょう。フレームワークはあなたのアプリのバイナリにリンクされたdylibかスタティックライブラリですか? NSLogのオーバーライドは後者の場合にのみ有効です。最後の手段として、NSLogを完全に沈黙させることができますhttp://stackoverflow.com/a/12611692/5329717 –
@ Kamil.Sなぜコメントしますか?もう少し情報を追加してください。コードサンプルが望ましいです。これはすばらしい答えのようです。 – Losiowaty