New Relic Mobile for iOS 설치하기
배경
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.m
및 NewApp-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
또한 다음과 같이 didFinishLaunchingWithOptions
에 NewRelic.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등을 사용해, 다른 데이터도 어떻게 표시되는지 시험해 보자고 생각합니다.
Reference
이 문제에 관하여(New Relic Mobile for iOS 설치하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aki5151/items/8785f8ccc440fcc900d4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)