SwiftUI アプリに AppDelegate を追加する
SwiftUI プロジェクトは、iOS/tvOS アプリケーションで New Relic 機能をインストールおよび構成するために必要なコンポーネントである AppDelegate ファイルを使用して生成されません。AppDelegate を SwiftUI アプリに追加するには、ここで説明する手順に従います。
AppDelegate を追加する前に、 概説された手順 に従って New Relic エージェントを正しくインストールします。
- という名前のプロジェクトに新しいファイルを追加します
AppDelegate
- 次に、そのファイルに、NSObject から継承し、UIApplicationDelegate プロトコルに準拠する
AppDelegate
という名前のクラスを追加します。 - 作成した AppDelegate クラスに、application:didFinishLaunchingWithOptions 関数を追加します。
- できる限り application:didFinishLaunchingWithOptions の先頭近くに
NewRelic.start(withApplicationToken: "APP_TOKEN")
を追加して、APP_TOKEN を アプリケーション トークンに置き換えます。
重要
適切なインストゥルメンテーションを確保するために、didFinishLaunchingWithOptions()
の先頭行でエージェントを呼び出し、メインスレッドでエージェントを実行する必要があります。呼び出しを後回しにして、バックグラウンドスレッドで実行したり、非同期で実行したりすると、想定外の動作や不安定な動作を引き起こす場合があります。
import UIKitimport NewRelic
class AppDelegate: NSObject, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { NewRelic.start(withApplicationToken: "APP_TOKEN") return true }}
- アプリのメイン構造オブジェクトに次の行を追加します:
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
.
@mainstruct SwiftUI_ExampleApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
AppDelegate.swift ファイルを SwiftUI アプリケーションに追加し、推奨される方法で New Relic iOS エージェントを起動するために必要なことはこれだけです。