本コンテンツは、投稿日時点での最新のiOS(Swift)アプリにおけるNew Relic Mobileエージェントのセットアップ手順を記載しています。最新の手順や詳細については、基本的にすべてドキュメントページに記載されているため、そちらをご参照ください。
アプリケーショントークン取得
まず最初に、アプリに組み込むためのトークンを以下の手順で取得してください。
- New Relicにログインし、画面左の「+ Add Data」をクリック。
- Add Dataの画面上部の検索ボックスにて、iosとタイプしていただくと、「iOS」のタイルが表示されるので、それをクリック
- 続いて表示された画面で、アカウントを選択していただき、Continueをクリック
- 「Give your application a name」の項目にアプリ名を入力し、CreateをクリックするとNew Relic上でアプリが作成されます。
- 引き続きUI上で表示されるガイドに従って導入していただくこともできますが、本ブログの手順に従う場合は、一旦Add Dataの画面を抜けます。
- 左側メニューで「Mobile」の項目がある場合は、それを選択してください。ない場合は、左側メニューの「All Capabilities」をクリックしていただき、表示されたタイルのリストから「Mobile」を選択してください。
- すると先程作成したアプリケーションがリストに表示されています。
- 作成したアプリをクリックし、その中の「Application」をクリックし、表示された画面のトークンをコピーしてください
Agentの導入
本ページでは、Swift Package Managerを使った導入方法のみを記載します。CocoaPodsを利用してSwiftへ組み込む方法及び、SDKを直接組み込む方法に関しては、ドキュメントページをご参照ください。
- Xcodeで対象のプロジェクトを開いてください。
- 続いて画面上部のメニューから File > Swift Packages > Add Package Dependency... を開いてください。
- リポジトリの設定画面が表示されるので、以下のURLを設定してNextをクリックしてください。
- 利用するバージョンのルールの選択画面が表示されるので、導入したいバージョンのルールを設定してください。
- 最後に設定する対象のTargetを選択し完了してください。
- SwiftUIで作成したケースなど、AppDelegate.swiftがない場合は、ファイルを追加して以下のようなコードを追加してください。(すでにある場合は、スキップしてください)
- <アプリ名>App.swiftという名前のファイルのファイルを開き、以下のTODOの行のようにAppDelegateを追加してください。
- プロジェクト内のAppDelegate.swiftというファイルを開き、以下のようにNew Relicのヘッダーをimportしてください。
- 同じファイル内のapplication:didFinishLaunchingWithOptionsの最初の行に以下の1行を追加してください(
APP_TOKEN
は、前述のアプリケーショントークンの取得で取得したトークンに置き換えてください。)
- これで、モバイルモニタリングが開始できるようになりました。試しにクラッシュが取得できることが確認できるよう、任意の箇所(例えば特定のボタンをクリックしたときに動作するコード)に、
を追加し、アプリをビルドして実行、クラッシュを発生させ、アプリを再起動してみてください。数分以内に、one.newrelic.comのMobileの画面で、クラッシュを確認することができます。NewRelic.crashNow()
なお、アプリがデバッガと接続した状態で起動した場合、クラッシュの取得ができません。その場合、端末のログに「New Relic Crash Reporting is DISABLED because it has detected the debugger is enabled.」という表示されます。デバッガを切断した状態でアプリを再起動するか、XcodeのEdit Scheme...からDebug executableのチェックを外して実行して、クラッシュを発生させてみてください。
ビルドスクリプトの設定
iOSのクラッシュデータは、そのままでは関数名が表示されずクラッシュが発生した箇所や原因の特定が困難になります。そのためシンボル情報をアップロードするためにビルドスクリプトの設定を行ってください。なお、bitcodeが有効な場合は本スクリプトではアップロードされません。こちらを参照し、dSYMを取得して手動でのアップロードを行ってください。
- 対象となるTargetのBuild Phasesを表示し、+ボタンよりNew Run Script Phaseを選択し、Run Scriptを追加してください
- iOS Agent 7.4.0以降をインストールされる場合、Run Scriptの中のShellの中に以下のコードを追加してください。(
APP_TOKEN
は、前述のアプリケーショントークンの取得で取得したトークンに置き換えてください。)
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.