Nous vous recommandons d'utiliser notre guide d'installation pour configurer monitoring iOS. Cependant, si vous devez installer l'agent manuellement, suivez les étapes ci-dessous pour installer l'agent New Relic iOS avec le gestionnaire de paquets Swift .
Installez votre application iOS
Dans le cadre du processus d'installation, New Relic génère automatiquement un jeton d'application. Il s'agit d'une chaîne hexadécimale de 40 caractères permettant d'authentifier chaque application mobile que vous monitorez dans New Relic.
Pour installer et configurer votre application iOS/tvOS :
- Allez à one.newrelic.com.
- Le cas échéant : dans la liste Mobile Apps , sélectionnez Add a new app.
- Depuis la page Get Started, sélectionnez iOS comme plateforme de monitoring des applications mobiles.
- Saisissez un nom pour votre application mobile, puis sélectionnez Continue.
Continuez avec les étapes pour configurer New Relic pour monitoring des applications mobiles.
Configurer à l'aide du gestionnaire de paquets Swift
Sélectionnez File > Swift Packages > Add Package Dependency....
Ajoutez l'URL Github du fichier du package :
https://github.com/newrelic/newrelic-ios-agent-spmConseil
Si vous recevez une erreur
artifact of binary target 'NewRelic' failed extraction: The operation couldn’t be completed. (TSCBasic.StringError error 1.)
lors de l'extraction du package, veuillez fermer Xcode, supprimer le dossier Derrived Data, rouvrir Xcode et réessayer.Sélectionnez le produit du package NewRelic, sélectionnez votre cible et sélectionnez Finish.
Dans votre fichier
AppDelegate.swift
, ajoutez cet appel comme première ligne deapplicationDidFinishLaunchWithOptions
, en remplaçantAPP_TOKEN
par votre jeton d'application: (Si votre application est écrite en SwiftUI, suivez ces instructions pour ajouter un AppDelegate à votre projet.)NewRelic.start(withApplicationToken:"APP_TOKEN")Important
Pour garantir une instrumentation appropriée, vous devez appeler l'agent sur la première ligne de
didFinishLaunchingWithOptions()
et exécuter l'agent sur le thread principal. Démarrer l'appel ultérieurement, sur un thread d'arrière-plan ou de manière asynchrone peut provoquer un comportement inattendu ou instable.En fonction de la version de votre agent iOS, ajoutez le script de build ci-dessous au Build Phases de votre cible. Assurez-vous que le script est le tout dernier script de build et remplacez
APP_TOKEN
par votre jeton d'application.- Pour l'agent iOS 7.4.0 ou supérieur :
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"- Pour iOS Agent 7.3.8 ou moins :
bash$SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`$/bin/sh "${SCRIPT}" "APP_TOKEN"(Facultatif) Ajoutez les lignes suivantes à votre script de construction ci-dessus pour ignorer le téléchargement de symboles pendant le débogage :
bash$if [ ${CONFIGURATION} = "Debug" ]; then$echo "Skipping DSYM upload CONFIGURATION: ${CONFIGURATION}"$exit 0$fiS'il y a une case à cocher indiquant « Exécuter script: basé sur l'analyse de dépendance », assurez-vous qu'elle n'est pas cochée.
Nettoyez et créez votre application, puis exécutez-la dans le simulateur ou sur un autre appareil.
Ce document vous a-t-il aidé lors de votre installation ?
Dépannage
Vous pouvez voir les erreurs suivantes lors de l’ajout du package Swift :
- L'artefact ne correspond pas à la somme de contrôle
- Impossible de télécharger le framework depuis remoteSourceControl
Si vous voyez ces types d’erreurs, essayez ce qui suit :
- Désintégrer le package New Relic Swift du projet Xcode.
- Exécutez ces commandes depuis le terminal pour supprimer les caches SPM :bash$rm -rf ~/Library/Caches/org.swift.swiftpm$rm -rf ~/Library/org.swift.swiftpm
- Supprimer les données dérivées à l'aide de Xcode.
- Réintégrer le package New Relic Swift dans le projet Xcode.
(Facultatif) Modifier le niveau de logging
Par défaut, l'agent iOS se connecte au niveau info
. vous pouvez modifier le niveau de log pour collecter plus ou moins de données. Il existe six niveaux de log pris en charge :
none
error
warning
info
verbose
ALL
Important
Augmentez le niveau de log à verbose
ou plus uniquement pour le débogage, pas pour les builds de sortie.
Pour modifier le niveau de logging dans votre application, ajoutez cet appel de méthode avant d'appeler NewRelic.start(withApplicationToken)
:
NRLogger.setLogLevels(NRLogLevelALL.rawValue)