Recomendamos que você use nossa instalação guiada para configurar o monitoramento do iOS. Porém, se você precisar instalar o agente manualmente, siga as etapas abaixo para instalar o agente New Relic iOS com Swift gerenciador de pacote.
Instale seu aplicativo iOS
Como parte do processo de instalação, o New Relic gera automaticamente um token de aplicativo. Esta é uma string hexadecimal de 40 caracteres para autenticar cada aplicativo móvel que você monitor no New Relic.
Para instalar e configurar seu aplicativo iOS/tvOS:
Vá para
.
Se aplicável: Na lista
Mobile Apps
, selecione
Add a new app
.
Na página
Get Started
, selecione
iOS
como plataforma para monitoramento de Mobile.
Digite um nome para seu aplicativo móvel e selecione
Continue
.
Continue com as etapas para configurar o New Relic para monitoramento de Mobile.
Configurar usando Swift gerenciador de pacote
Selecione File > Swift Packages > Add Package Dependency....
Adicione o URL do Github do arquivo do pacote:
https://github.com/newrelic/newrelic-ios-agent-spmDica
Se você receber um erro
artifact of binary target 'NewRelic' failed extraction: The operation couldn’t be completed. (TSCBasic.StringError error 1.)
ao extrair o pacote, feche o Xcode, exclua a pasta Dados Derivados, abra novamente o Xcode e tente novamente.Selecione o produto do pacote NewRelic, selecione seu destino e selecione Finish.
No arquivo
AppDelegate.swift
, adicione esta chamada como a primeira linha deapplicationDidFinishLaunchWithOptions
, substituindoAPP_TOKEN
pelo token do seu aplicativo: (se o seu aplicativo for escrito em SwiftUI, siga estas instruções para adicionar um AppDelegate ao seu projeto.)NewRelic.start(withApplicationToken:"APP_TOKEN")Importante
Para garantir a instrumentação adequada, você deve chamar o agente na primeira linha de
didFinishLaunchingWithOptions()
e executar o agente no thread principal. Iniciar a chamada posteriormente, em um thread em segundo plano ou de forma assíncrona pode causar um comportamento inesperado ou instável.Com base na versão do seu agente iOS, adicione o script de compilação abaixo ao Build Phases do seu destino. Certifique-se de que o script seja o último script de construção e substitua
APP_TOKEN
pelo token do seu aplicativo.- Para agente iOS 7.4.0 ou 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 ou inferior:
bash$SCRIPT=`/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1`$/bin/sh "${SCRIPT}" "APP_TOKEN"(Opcional) Adicione as seguintes linhas ao seu script de construção acima para ignorar o upload do símbolo durante a depuração:
bash$if [ ${CONFIGURATION} = "Debug" ]; then$echo "Skipping DSYM upload CONFIGURATION: ${CONFIGURATION}"$exit 0$fiSe houver uma caixa de seleção que diz "Executar script: com base na análise de dependência", certifique-se de que esteja desmarcada.
Limpe e crie seu aplicativo e execute-o no simulador ou em outro dispositivo.
Este documento ajudou você na instalação?
Resolução de problemas
Você poderá ver os seguintes erros ao adicionar o pacote Swift:
- O artefato não corresponde à soma de verificação
- Não é possível baixar framework do remoteSourceControl
Se você vir esses tipos de erros, tente o seguinte:
Desintegrar o pacote New Relic Swift do projeto Xcode.
Execute estes comandos no terminal para excluir caches spm:
bash$rm -rf ~/Library/Caches/org.swift.swiftpm$rm -rf ~/Library/org.swift.swiftpmExclua dados derivados usando Xcode.
Integre novamente o pacote New Relic Swift ao projeto Xcode.
(Opcional) Altere o nível de registro
Por padrão, o registro do agente iOS está no nível info
. você pode alterar o nível de log para coletar mais ou menos dados. Existem seis níveis de log suportados:
none
error
warning
info
verbose
ALL
Importante
Aumente o nível de log apenas para verbose
ou superior para depuração, não para versões de lançamento.
Para alterar o nível de registro em seu aplicativo, adicione esta chamada de método antes de chamar NewRelic.start(withApplicationToken)
:
NRLogger.setLogLevels(NRLogLevelALL.rawValue)