New Relic Mobile for iOS 설치하기

8939 단어 XcodeiOSNewRelicSwift

배경



New Relic Mobile을 사용한 적이 없고, 무료 프레임의 사양이 변경되고 있었으므로, New Relic agent의 인스톨을 정리해 보았습니다.

New Relic이란?



New Relic사가 제공하고 있는 SaaS형의 FSO인 퍼포먼스 감시 플랫폼이 됩니다. 이번 시도하는 Mobile 의외로 APM, Infrastructure, Browser등의 다양한 서비스에 대해서 퍼포먼스를 감시할 수 있게 됩니다.
h tps : // 네 w ぃ c. 이 m/jp

환경



Xcode: 11.5
Swift: 5.2.4
cocoapod: 1.9.3
New Relic SDK: 5.14.2

New Relic Mobile 설치 절차



이하, New Relic 공식 문서의 순서에 따라, cocoapod를 이용한 인스톨을 실시한다.
htps : // / cs. 네 w ぃ c. 이. jp / Docs / Mobie-Moni Torin g / Ne w-re-c Mobie-eo s / an s ta chion / 여기 아포 ds

1.Xcode로 프로젝트 만들기



New Relic Mobile을 사용해 보려면 새 프로젝트를 만드십시오.


이번에는 프로젝트명은 NewApp로 합니다.


2. Podfile의 init 및 install



먼저 Podfile을 만듭니다.
% pod init
% vim Podfile
생성된 Podfile에 pod 'NewRelicAgent', '5.14.2'를 추가합니다.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'NewApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for NewApp
  pod 'NewRelicAgent', '5.14.2'

  target 'NewAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'NewAppUITests' do
    # Pods for testing
  end

end

마지막으로 설치를 수행합니다.
% pod install

3. NewRelicAgent와의 통합



포드 설치 후 생성된 NewApp.xcworkspace를 엽니다. bridging header를 작성하려면 File > New > File > Objective-C를 선택하십시오.



Objective-C의 파일명을 Placeholder.m 로 합니다. 다음을 누르면 팝업이 표시되므로 Create Bridging Header를 선택합니다.
Placeholder.mNewApp-Bridging-Header.h가 작성되었습니다.

NewApp-Bridging-Header.h 를 다음과 같이 편집합니다.

NewApp-Bridging-Header.h
//
//  Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "NewRelicAgent/NewRelic.h"
AppDelegate.swift 또한 다음과 같이 didFinishLaunchingWithOptionsNewRelic.start(withApplicationToken:"<NewRelic Application Token>") 를 추가합니다. New Relic Application Token을 모르는 경우 New Relic One의 WebUI에 표시되므로 여기에서 Token을 가져옵니다.

AppDelegate.swift
import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {



    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        // 以下を追加
        NewRelic.start(withApplicationToken:"<NewRelic Application Token>")
        return true
    }

    // MARK: UISceneSession Lifecycle

    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        // Called when a new scene session is being created.
        // Use this method to select a configuration to create the new scene with.
        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
    }

    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
        // Called when the user discards a scene session.
        // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
        // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
    }


}

마지막으로 dSYM을 자동으로 업로드하려면 Select Build Phase > New Run Script Phase 로 추가합니다.



추가 후 다음 스크립트를 삽입합니다.
SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`

/bin/sh "${SCRIPT}" "<New Relic Application Token>"



4. 시뮬레이터 시작



Xcode에서 시뮬레이터를 시작합니다.

5. New Relic One에서 확인



시뮬레이터를 시작한 후 New Relic One에서 Mobile을 확인합니다. App Launches의 데이터가 업데이트되었음을 ​​알고 New Relic agent를 설치할 수 있었습니다. 다른 데이터에 대해서는 HTTP/Network에 대한 코딩을 하지 않으므로 아무것도 없습니다.


소감



모처럼 설치까지 할 수 있었으므로, Alamofire등을 사용해, 다른 데이터도 어떻게 표시되는지 시험해 보자고 생각합니다.

좋은 웹페이지 즐겨찾기