CocoaPods installation

Owner, Admins, or add-on managers

You must be the account Admin to install and configure New Relic Mobile functionality with your iOS applications. These procedures apply to iOS apps using Cocoapods. For other types, see iOS installation and configuration.

Install your iOS application

As part of the installation process, New Relic Mobile automatically generates an application token. This is a 40-character hexadecimal string for authenticating each mobile app you monitor in New Relic Mobile.

For Admins with existing New Relic accounts, follow these steps to install and configure your iOS application. (If you do not have a New Relic account, see New Relic Mobile.)

  1. Go to rpm.newrelic.com/mobile.
  2. If applicable: From the Mobile Apps list, select Add a new app. screen mobile app add.png
  3. From the Get Started page, select iOS as the platform for mobile monitoring.
  4. Type a name for your mobile app, then select Continue.

Continue with the steps to configure New Relic Mobile.

  • To complete the configuration process for a new mobile app later: Go to rpm.newrelic.com/mobile. Next to your mobile app name, select See Instructions.
  • To upgrade an existing iOS installation: Go to rpm.newrelic.com/mobile > (select an app) > Settings > Installation.

Configure using Objective-C

These procedures to configure your iOS app with CocoaPods and Objective-C also appear on the Get Started page in New Relic Mobile.

  1. In the Podfile for your project, add the following line:

    pod 'NewRelicAgent'
  2. Close your project in Xcode, and update it by running this command from the Terminal in your project directory:

    pod install
  3. Open your project in Xcode by running this command from the Terminal in your project directory:

    open App.xcworkspace
  4. In your APP_NAME-Prefix.pch project file (generally found in the Supporting Files folder), include the New Relic header inside the #ifdef __OBJC__ #endif block:

    #import <NewRelicAgent/NewRelic.h>
  5. In your AppDelegate.m file, add this call as the first line of application:didFinishLaunchingWithOptions, replacing APP_TOKEN with your application token:

    [NewRelic startWithApplicationToken:@"APP_TOKEN"];
    

    The agent must be on the first line of didFinishLaunchingWithOptions and ran on the main thread to ensure proper instrumentation. Starting the call later, on a background thread, or asynchronously can cause unexpected or unstable behavior.

  6. Add a build script to your target's Build Phases. Ensure the new build script is the very last build script. Then paste the following, replacing APP_TOKEN with your application token:

    SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`
    /bin/sh "${SCRIPT}" "APP_TOKEN"
  7. Clean and build your app, then run it in the simulator or other device.

Within a few minutes you will begin to see data for your iOS app: Go to rpm.newrelic.com/mobile > (select an app).

Configure using Swift

These procedures to configure your iOS app with CocoaPods and Swift also appear on the Get Started page in New Relic Mobile.

  1. In the Podfile for your project, add the following line:

    pod 'NewRelicAgent'
  2. Close your project in Xcode, and update it by running this command from the Terminal in your project directory:

    pod install
  3. Open your project in Xcode by running this command from the Terminal in your project directory:

    open App.xcworkspace
  4. Create a bridging header:

    1. Select File > New > File > Objective-C File.
    2. Name the file Placeholder.m, then select Next.
    3. Select Create, and confirm Xcode's prompt to generate the bridging header.
  5. In your APP_NAME-Bridging-Header.h, add the New Relic header:

    #import "NewRelicAgent/NewRelic.h"
  6. In your AppDelegate.swift file, add this call as the first line of application:didFinishLaunchingWithOptions, replacing APP_TOKEN with your application token:

    NewRelic.start(withApplicationToken:"APP_TOKEN")

    To ensure proper instrumentation, you must call the agent on the first line of didFinishLaunchingWithOptions(), and run the agent on the main thread. Starting the call later, on a background thread, or asynchronously can cause unexpected or unstable behavior.

  7. Add a build script to your target's Build Phases. Ensure the new build script is the very last build script. Then paste the following, replacing APP_TOKEN with your application token:

    SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`
    /bin/sh "${SCRIPT}" "APP_TOKEN"
  8. Clean and build your app, then run it in the simulator or other device.

Change the logging level (optional)

Six log levels are available for mobile apps monitoring:

  • none
  • error
  • warning
  • info
  • verbose
  • ALL

To increase your logging level in the app, add this method call before calling NewRelic.start(withApplicationToken):

[NRLogger setLogLevels:NRLogLevelALL];

For Swift apps:

NRLogger.setLogLevels(NRLogLevelALL.rawValue)

For more help

Additional documentation resources include:

Recommendations for learning more: