Le recomendamos que utilice nuestra instalación guiada para configurar el monitoreo de iOS. Sin embargo, si necesita instalar el agente manualmente, siga los pasos a continuación para instalar el agente New Relic iOS con Cocoapods.
Instala tu aplicación iOS
Como parte del proceso de instalación, New Relic genera automáticamente un token de aplicación. Esta es una cadena hexadecimal de 40 caracteres para autenticar cada aplicación móvil que monitor en New Relic.
Para instalar y configurar su aplicación iOS o tvOS:
Vaya a
.
(Si corresponde) De la lista
Mobile Apps
, seleccione
Add a new app
.
Desde la página
Get Started
, seleccione
iOS
como plataforma de monitoreo de móviles.
Escriba un nombre para su aplicación móvil y luego seleccione
Continue
.
Continúe con los pasos para configurar New Relic para monitoreo de móviles.
Configurar usando Objective-C
Estos procedimientos para configurar su aplicación iOS/tvOS con CocoaPods y Objective-C también aparecen en la página Get Started en New Relic.
En el
Podfile
de su proyecto, agregue esta línea:pod 'NewRelicAgent'Cierre su proyecto en Xcode, luego abra su terminal y ejecute este comando en el directorio de su proyecto:
bash$pod installAbra su proyecto en Xcode ejecutando este comando en la terminal:
bash$open App.xcworkspaceEn su archivo
AppDelegate.m
, agregue este encabezado New Relic :#import <NewRelic/NewRelic.h>En su archivo
AppDelegate.m
, agregue esta llamada como la primera línea deapplication:didFinishLaunchingWithOptions
, reemplazandoAPP_TOKEN
con su token de aplicación:[NewRelic startWithApplicationToken:@"APP_TOKEN"];Importante
El agente debe estar en la primera línea de
didFinishLaunchingWithOptions
y ejecutarse en el subproceso principal para garantizar una instrumentación adecuada. Iniciar la llamada más tarde, en un subproceso en segundo plano o de forma asincrónica puede provocar un comportamiento inesperado o inestable.Descargue este repositorio: https://github.com/newrelic/newrelic-ios-agent-spm/archive/refs/heads/main.zip.
Desde el repositorio descargado, copie
dsym-upload-tools
en la carpeta que contiene su archivoxcodeproject
. Ahora debería tener una carpeta que contenga estos archivos:YOUR_PROJECT.xcodeproj
dsym-upload-tools/
Según la versión de su agente de iOS, agregue el siguiente script de compilación al Build Phases de su objetivo. Asegúrese de que el script sea el último script de compilación y reemplace
APP_TOKEN
con el token de su aplicación.- Para agente iOS 7.4.0 o superior:
bash$ARTIFACT_DIR="${BUILD_DIR%Build/*}"$SCRIPT=`/usr/bin/find "${SRCROOT}" "${ARTIFACT_DIR}" -type f -name run-symbol-tool | head -n 1`$/bin/sh "${SCRIPT}" "APP_TOKEN"- Para agente iOS 7.3.8 o bajo:
bash$SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`$/bin/sh "${SCRIPT}" "APP_TOKEN"(Opcional) Agregue las siguientes líneas al script de compilación anterior para omitir la carga de símbolos durante la depuración:
bash$if [ ${CONFIGURATION} = "Debug" ]; then$echo "Skipping DSYM upload CONFIGURATION: ${CONFIGURATION}"$exit 0$fiLimpie y cree su aplicación, luego ejecútela en el simulador o en otro dispositivo.
Configurar usando Swift
Estos procedimientos para configurar su aplicación iOS/tvOS con CocoaPods y Swift también aparecen en la página Get Started en New Relic.
En el Podfile de su proyecto, agregue la siguiente línea:
pod 'NewRelicAgent'Cierre su proyecto en Xcode y actualícelo ejecutando este comando desde la terminal en el directorio de su proyecto:
bash$pod installAbra su proyecto en Xcode ejecutando este comando desde la terminal en el directorio de su proyecto:
bash$open App.xcworkspaceEn tu
AppDelegate.swift
, agrega el encabezado New Relic: (si tu aplicación está escrita en SwiftUI, sigue estas instrucciones para agregar un AppDelegate a tu proyecto).import NewRelicEn su archivo
AppDelegate.swift
, agregue esta llamada como la primera línea deapplication:didFinishLaunchingWithOptions
, reemplazandoAPP_TOKEN
con su token de aplicación:NewRelic.start(withApplicationToken:"APP_TOKEN")Importante
Para garantizar una instrumentación adecuada, debe llamar al agente en la primera línea de
didFinishLaunchingWithOptions()
y ejecutar el agente en el hilo principal. Iniciar la llamada más tarde (en un subproceso en segundo plano o de forma asincrónica) puede provocar un comportamiento inesperado o inestable.Descargue este repositorio: https://github.com/newrelic/newrelic-ios-agent-spm/archive/refs/heads/main.zip.
Desde el repositorio descargado, copie
dsym-upload-tools
en la carpeta que contiene su archivoxcodeproject
. Ahora debería tener una carpeta que contenga estos archivos:YOUR_PROJECT.xcodeproj
dsym-upload-tools/
Según la versión de su agente de iOS, agregue el siguiente script de compilación al Build Phases de su objetivo. Asegúrese de que el script sea el último script de compilación y reemplace
APP_TOKEN
con el token de su aplicación.- Para agente iOS 7.4.0 o superior:
ARTIFACT_DIR="${BUILD_DIR%Build/*}"SCRIPT=`/usr/bin/find "${SRCROOT}" "${ARTIFACT_DIR}" -type f -name run-symbol-tool | head -n 1`/bin/sh "${SCRIPT}" "APP_TOKEN"- Para agente iOS 7.3.8 o bajo:
SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`/bin/sh "${SCRIPT}" "APP_TOKEN"(Opcional) Agregue las siguientes líneas al script de compilación anterior para omitir la carga de símbolos durante la depuración:
if [ ${CONFIGURATION} = "Debug" ]; thenecho "Skipping DSYM upload CONFIGURATION: ${CONFIGURATION}"exit 0fiLimpie y cree su aplicación, luego ejecútela en el simulador o en otro dispositivo.
¿Te ha ayudado este documento con la instalación?
(Opcional) Cambiar el nivel de logging
De forma predeterminada, el agente de iOS inicia sesión en el nivel info
. Puedes cambiar el nivel de logs para recopilar más o menos datos. Hay seis niveles de logs admitidos:
none
error
warning
info
verbose
ALL
Importante
Aumente el nivel de logs solo a verbose
o superior para la depuración, no para las versiones de lanzamiento.
Para cambiar el nivel de logging en su aplicación, agregue esta llamada a método antes de llamar a NewRelic.start(withApplicationToken)
:
C objetivo:
[NRLogger setLogLevels:NRLogLevelALL];Swift:
NRLogger.setLogLevels(NRLogLevelALL.rawValue)