iOS開発用のDynamic-by-defaultメソッドルックアップがSwiftで廃止されました。これにより、エージェントのデフォルトのメソッドインスツルメンテーションが中断されます。例えば、Swift クラスのインタラクショントレーシングはデフォルトでは無効になっていますが、再度有効にすることができます。
Swift アプリ内のインタラクションは、自動的にインストルメント化されたクラスとメソッドが使用されている場合、またはカスタム インタラクションを定義している場合にキャプチャされます。ただし、Swift クラスがこれらのデフォルト クラスのサブクラスを作成する場合は、次の手順に従ってインタラクションをキャプチャします。
ダイナミック・メソッド・ルックアップの有効化
Swift でメソッドごとに動的メソッド検索を再度有効にするには、 dynamic
宣言修飾子を追加します。例えば:
class MyViewController : UIViewController { override dynamic func viewDidLoad() { super.viewDidLoad() ... }}
New Relic が自動的にインスツルメントするすべての関数に対して、サブクラスを作成して Swift でオーバーライドするたびに、必ずこの修飾子を追加してください。
Swiftのインストゥルメンテーションを有効にする
メソッドのオーバーライドに dynamic
キーワードを追加した後、次のメソッドを呼び出して Swift インストルメンテーションを再度有効にできます。
Language | Procedure |
---|---|
Objective-C | の前に電話する
|
迅速 | の前に電話する
|