• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

Swiftのインタラクション・トレースを有効にする

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のインスツルメンテーションを再度有効にすることができます。

言語

手順

Objective-C

Call prior to [NewRelic startWithApplicationToken:...];

[NewRelic enableFeatures:NRFeatureFlag_SwiftInteractionTracing];

Swift

の前に呼び出す NewRelic.start(withApplicationToken:)

NewRelic.enableFeatures(NRMAFeatureFlags.NRFeatureFlag_SwiftInteractionTracing)
Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.