• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Migrar el agente iOS desde CocoaPods

|View as Markdown (English)

CocoaPods ha anunciado que su registro central (trunk) pasará a ser de solo lectura de forma permanente el 2 de diciembre de 2026. Después de esa fecha, CocoaPods dejará de aceptar nuevas versiones de pod. Esta página explica lo que eso significa para el agente de iOS de New Relic y los agentes híbridos creados en él, y cómo trasladar la aplicación a otro método de instalación.

Antes de migrar

Revise estas respuestas antes de migrar:

  • What's changing? La versión 7.7.10 es el último agente de iOS que publicamos en CocoaPods (el pod NewRelicAgent). Las versiones posteriores solo están disponibles a través del administrador de paquetes Swift y como una descarga de XCFramework.
  • Will my app break? No. Cada versión de NewRelicAgent ya publicada se mantiene en CocoaPods, por lo que pod install y las canalizaciones de CI siguen funcionando. Simplemente no obtiene versiones más recientes del agente a través de CocoaPods.
  • Why migrate? Para seguir recibiendo nuevas características, correcciones y compatibilidad con las nuevas versiones de iOS y Xcode, migre al administrador de paquetes de Swift o a XCFramework.

Este cambio también afecta a los agentes híbridos que obtienen el agente de iOS a través de CocoaPods. Si utiliza React Native, Flutter, Ionic Capacitor, Cordova o Unity, consulte Migrar aplicaciones que utilizan un agente híbrido.

Migre la aplicación de iOS

Elija uno de estos métodos de instalación:

  • Administrador de paquetes de Swift: el administrador de paquetes de Apple, integrado en Xcode. Actualice el agente desde Xcode.
  • XCFramework: un paquete de framework que descarga y agrega al proyecto por su cuenta. Puede actualizarlo descargando una nueva versión.

El agente de iOS no depende de ningún otro paquete, por lo que puede moverlo al administrador de paquetes Swift incluso si algunas de sus otras dependencias permanecen en CocoaPods por ahora. Si planea mover todas sus dependencias fuera de CocoaPods, primero verifique que cada una de ellas sea compatible con el administrador de paquetes Swift. Para una dependencia que no lo hace, el método XCFramework le permite agregar y actualizar el agente de forma independiente de cualquier administrador de paquetes.

Importante

Instale el agente con un solo método. Si el pod NewRelicAgent todavía está instalado cuando agrega el agente de otra manera, su aplicación termina con dos copias del agente, lo que causa errores de compilación o un comportamiento impredecible.

Administrador de paquetes Swift

Anote qué versión del agente utiliza hoy. Aparece junto a NewRelicAgent en su Podfile.lock.

Cierre Xcode, luego elimine el pod NewRelicAgent:

  • Si NewRelicAgent es el único pod, ejecute este comando en el directorio del proyecto, luego elimine Podfile, Podfile.lock y el archivo .xcworkspace que generó CocoaPods:

    bash
    $
    pod deintegrate
  • Si todavía usa otros pods, elimine la línea pod 'NewRelicAgent' de su Podfile y luego ejecute:

    bash
    $
    pod install

    Compruebe que NewRelicAgent ya no aparece en Podfile.lock.

Abra el proyecto en Xcode. Si aún utiliza otros pod, abra el archivo .xcworkspace. De lo contrario, abra el archivo .xcodeproj.

Seleccione File > Add Package Dependencies... e ingrese esta URL:

https://github.com/newrelic/newrelic-ios-agent-spm

Para la regla de la dependencia, elija Up to Next Major Version, a partir de la versión que anotó en el primer paso o una más reciente.

Agregue el producto de paquete NewRelic al objetivo de la aplicación y a cualquier otro objetivo que haya usado el pod, como una extensión de la aplicación.

Revise el script de compilación de carga de dSYM en el Build Phases del objetivo:

  • Si es el script para el agente de iOS 7.4.0 o superior (busca run-symbol-tool), déjelo como está. Encuentra la herramienta en el paquete de Swift.
  • Si llama a newrelic_postbuild.sh, o utiliza una ruta dentro de Pods/, reemplácelo con el script 7.4.0 o superior de la instalación del administrador de paquetes de Swift.

Mantenga el script como la última fase de compilación y asegúrese de que Based on dependency analysis esté desmarcado.

Limpie y compile la aplicación, y luego ejecútela. El código que inicia el agente y el token de la aplicación no cambian.

Para actualizar el agente más adelante, consulte Actualizar con el administrador de paquetes de Swift.

XCFramework

Cierre Xcode y elimine el pod NewRelicAgent, como se describe en los pasos del administrador de paquetes Swift.

Siga la instalación manual de XCFramework para descargar el agente y agregarlo al objetivo de la aplicación. Asegúrese de que NewRelic.xcframework esté configurado en Embed & Sign.

Revise el script de compilación de carga de dSYM como se describe en los pasos del administrador de paquetes de Swift. El script 7.4.0 o superior encuentra run-symbol-tool dentro de NewRelic.xcframework.

Limpie y compile la aplicación, y luego ejecútela. El código que inicia el agente y el token de la aplicación no cambian.

Para actualizar el agente más adelante, consulte Reemplazar manualmente su agente de iOS.

Actualice el pipeline de CI/CD

Si eliminó CocoaPods por completo, actualice cualquier paso del pipeline que ejecute pod install o compile el archivo .xcworkspace. Si usa el administrador de paquetes de Swift, considere resolver los paquetes en un paso separado antes de la compilación:

bash
$
xcodebuild -resolvePackageDependencies -project YourApp.xcodeproj -scheme YourApp

Migre aplicaciones que usan un agente híbrido

Los agentes híbridos incluyen el agente de iOS. La mayoría de ellos puede obtenerlo a través de CocoaPods o del administrador de paquetes de Swift, y la configuración del proyecto de la aplicación decide cuál se utiliza:

Agente

Qué hacer

React Native

Active el administrador de paquetes de Swift en el Podfile.

Flutter

Utilice la compatibilidad con el administrador de paquetes de Swift de Flutter, que está activada de forma predeterminada a partir de Flutter 3.44.

Ionic Capacitor

Mueva el proyecto iOS al administrador de paquetes de Swift si todavía usa CocoaPods.

Cordova

Actualice a cordova-ios 8 o superior.

Unidad

No se requiere ninguna acción. Para obtener versiones más recientes del agente de iOS, agregue el XCFramework al proyecto de Xcode usted mismo.

.NET MAUI y Unreal Engine

No se requiere ninguna acción. Estos agentes incluyen el agente de iOS en su propio paquete y no usan CocoaPods.

Si la aplicación sigue obteniendo el agente de iOS a través de CocoaPods, aún puede actualizar el agente híbrido. Las nuevas versiones del agente híbrido mantienen el agente de iOS 7.7.10 para CocoaPods y usan versiones más recientes del agente de iOS solo a través del administrador de paquetes de Swift.

React Native

De forma predeterminada, el agente React Native obtiene el agente iOS de CocoaPods. Puede cambiar al administrador de paquetes de Swift con el agente React Native 1.9.3 o superior.

Aplicación estándar de React Native

Antes de cambiar, asegúrese de que la aplicación cumpla con estos requisitos:

  • React Native 0.75 o superior
  • use_frameworks! :linkage => :dynamic en su Podfile
  • Un bloque post_install en su Podfile que llama a react_native_post_install, como lo hace la plantilla estándar de React Native

Para cambiar, siga estos pasos:

  1. Actualice el agente de React Native a la versión 1.9.3 o superior.

  2. En la parte superior de su ios/Podfile, agregue:

    ENV['NEWRELIC_USE_SPM'] = '1'
    use_frameworks! :linkage => :dynamic
  3. Ejecute pod install en el directorio ios, luego verifique que NewRelicAgent ya no aparezca en el Podfile.lock.

  4. Compile y ejecute la aplicación.

Aplicación Expo

npx expo prebuild regenera la carpeta ios, así que configúrelo en la configuración del proyecto en lugar de en el Podfile. Necesita Expo SDK 52 o superior.

Para cambiar, siga estos pasos:

  1. Actualice el agente de React Native a la versión 1.9.3 o superior.

  2. Instale expo-build-properties:

    bash
    $
    npx expo install expo-build-properties
  3. En app.json o app.config.js, configure iOS para usar frameworks dinámicos:

    "plugins": [
    "newrelic-react-native-agent",
    ["expo-build-properties", { "ios": { "useFrameworks": "dynamic" } }]
    ]
  4. Agregue NEWRELIC_USE_SPM=1 al archivo .env en el directorio raíz del proyecto. npx expo prebuild y npx expo run:ios lo cargan.

  5. Ejecute npx expo prebuild --clean, luego compruebe que NewRelicAgent ya no aparece en ios/Podfile.lock.

Si no se establece NEWRELIC_USE_SPM cuando se ejecuta CocoaPods, por ejemplo, cuando ejecuta pod install o npx pod-install manualmente, la aplicación volverá a obtener el agente de iOS desde CocoaPods.

Flutter

El agente de Flutter es compatible tanto con CocoaPods como con el administrador de paquetes de Swift, y Flutter decide cuál usar. A partir de Flutter 3.44, el administrador de paquetes de Swift está activado de forma predeterminada, por lo que la mayoría de las aplicaciones ya obtienen el agente de iOS a través de este.

Si desactivó el administrador de paquetes de Swift, vuelva a activarlo ejecutando:

bash
$
flutter config --enable-swift-package-manager

También elimine enable-swift-package-manager: false de pubspec.yaml si lo agregó.

Ionic Capacitor

El agente de Capacitor es compatible tanto con CocoaPods como con el administrador de paquetes de Swift, y el proyecto de iOS decide cuál se utiliza. Capacitor 8 crea nuevos proyectos de iOS con el administrador de paquetes de Swift, pero un proyecto creado con CocoaPods lo sigue usando hasta que lo migre.

  • Si la carpeta ios/App tiene un paquete CapApp-SPM, ya usa el administrador de paquetes de Swift. npx cap sync mantiene el agente actualizado.
  • Si tiene un Podfile, mueva el proyecto al administrador de paquetes de Swift siguiendo la guía del administrador de paquetes de Swift de Capacitor. Cubre el comando npx cap spm-migration-assistant y la recreación de la plataforma de iOS.

Cordova

Con cordova-ios 8 o superior, el agente de Cordova obtiene el agente de iOS a través del administrador de paquetes de Swift. Las versiones anteriores de cordova-ios usan CocoaPods.

Para migrar, siga estos pasos:

  1. Actualice el agente de Cordova a la última versión.

  2. Actualice la plataforma iOS. Consulte el anuncio de lanzamiento de cordova-ios 8:

    bash
    $
    cordova platform remove ios
    $
    cordova platform add ios@8

    Al eliminar la plataforma se elimina la carpeta platforms/ios, por lo que pierde los cambios que haya realizado allí manualmente. Respáldelos primero.

  3. Asegúrese de que config.xml establezca el objetivo de despliegue de iOS en 15.0 o superior:

    <preference name="deployment-target" value="15.0" />
  4. Compile y ejecute la aplicación.

Unidad

El agente de Unity obtiene el agente de iOS a través de CocoaPods, utilizando el administrador de dependencias externo para Unity (EDM4U). No es compatible con el administrador de paquetes de Swift. La aplicación se sigue compilando con las versiones que ya están en CocoaPods, y las nuevas versiones del agente de Unity mantienen el agente de iOS 7.7.10.

Para usar una versión más reciente del agente de iOS, agregue manualmente XCFramework al proyecto de Xcode, como se describe en los pasos de dependencia del agente de Unity. Asegúrese de que EDM4U tampoco instale el pod NewRelicAgent, para que la aplicación tenga solo una copia del agente.

Solucionar problemas

Copyright © 2026 New Relic Inc.

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