• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

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

問題を作成する

サードパーティの非互換性 (iOS)

問題

New Relic iOS エージェントと特定の Firebase SDK の両方を同じアプリに含めると、計装の重複により競合が発生する可能性があります。 影響を受ける Firebase SDK は次のとおりです。

  • FirebasePerformance — ネットワーク監視のNSURLSessionと画面トレースのUIViewControllerライフサイクル メソッドを入れ替え、 New Relicの自動計装と直接重複します。
  • FirebaseCrashlytics — 独自のキャッチされていない例外ハンドラーとシグナル ハンドラー (SIGABRT、SIGSEGV など) をインストールします。これらは、初期化順序に応じて、New Relic のクラッシュ レポーターによって上書きされるか、上書きされる可能性があります。

既知の症状は次のとおりです。

  • 競合するNSURLSessionまたはUIViewControllerメソッドのスウィズリングが原因で、自動インストゥルメントされた関数がクラッシュします。
  • 一度にアクティブにできる例外ハンドラーは 1 つだけであるため、一方または両方のツールでクラッシュ レポートが欠落しているか不完全です。
  • New Relic または Firebase コンソールに重複したネットワーク イベントが表示されます。

解決

推奨: 競合する Firebase コンポーネントを削除する

1 つのソースからのクラッシュ レポートとネットワーク監視のみが必要な場合、最もクリーンな解決策は、競合する Firebase ポッドを削除することです。

  • NSURLSessionUIViewControllerスウィズル競合を排除するには、 FirebasePerformanceを削除します。
  • 例外とシグナル ハンドラーの競合を排除するには、 FirebaseCrashlyticsを削除します。

分析やその他の機能に Firebase を使用している場合 (例: FirebaseAnalyticsFirebaseAuthFirebaseFirestore)、それらのポッドは New Relic エージェントと競合しないため、そのまま残すことができます。

代替案: 重複する機能を無効にする

Firebase コンポーネントを削除できない場合は、重複するコンポーネントを明示的に無効にします。

Firebase パフォーマンスの自動計装を無効にする:

// In your AppDelegate, before FirebaseApp.configure()
Performance.sharedInstance().isInstrumentationEnabled = false
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(false)

Crashlytics と重複する New Relic 機能を無効にします。

NRFeatureFlag_CrashReportingNRFeatureFlag_NSURLSessionInstrumentationなどのフラグについては、 New Relic iOS SDK 設定ガイドを参照してください。

初期化順序

両方の SDK がアクティブなままの場合は、 FirebaseApp.configure()前に、できるだけ早く( application(_:didFinishLaunchingWithOptions:)の最初の呼び出しとして)New Relic エージェントを初期化します。これにより、New Relic の例外ハンドラーとシグナル ハンドラーが最初に登録されますが、Crashlytics はアプリ コードが実行される前に実行される+loadメソッドを介してそれらを上書きする可能性があります。

さらにサポートが必要な場合は、 support.newrelic.com でサポートを受けてください。

Copyright © 2026 New Relic株式会社。

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