問題タブ [method-swizzling]

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.

0 投票する
1 に答える
3646 参照

ios - 迅速なプロジェクトでメソッドのスウィズリングを無効にすることは可能ですか?

サードパーティのフレームワークを使用した非常に大きなプロジェクトがあり、メソッドの入れ替えを無効にして、サードパーティのフレームワークがデフォルトの予期される動作を台無しにしないようにしたいと考えています。出来ますか?プロジェクト設定にいくつかのフラグがありますか?

0 投票する
0 に答える
1205 参照

android - リフレクション / クラスローダーを介して Android のメソッド実装を置き換える

現在、モバイルアプリの実行時操作技術について研究しています。iOS プラットフォームでは、class_replaceMethod(...) などの Objective-C ランタイム ライブラリ関数を呼び出すことで、メソッドの入れ替えを簡単に行うことができます。Androidでも同等の方法は可能ですか?

JDB を使用すると、ローカル変数を変更したり、式を評価したりできます。後者により、メソッドの実装本体全体を変更できると思います。たとえば、反射を使用して、これをどのように正確に行いますか? 必要な手順は何ですか?

前もって感謝します!

0 投票する
1 に答える
368 参照

swift - Swift 2.3 から Swift 3 への NSLocale.currentLocale のポート メソッド スウィズル

Swift 3 では、NSLocale (現在の Locale) クラスに多くの変更が導入されました。NSLocale.currentLocale()一部のヘルパーの単体テストを実行するには、メソッドのスウィズルを実行する必要があります。Swift 2.3 では、次の方法を使用できます。

現在の問題は、Swift 3currentLocaleではもはやなく、プロパティに置き換えられたことcurrentです。

Swift 3 で同じ結果を得るにはどうすればよいでしょうか?

0 投票する
1 に答える
391 参照

ios - iOS 10.1 でメソッド スウィズルが機能しない

@property stringのメソッドをスウィズルしたいUIPasteboard:

呼び出し[[UIPasteboard generalPasteboard] setString:@"test"];たら、swizzle メソッドに入ります。iOS 7、iOS 8、および iOS 9 で動作します。ただし、iOS 10 では失敗しました。

組み立て方とテスト方法が異なります:</p>

iOS 9 の場合:

iOS 10 の場合: