Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
O Visual Studio App Center foi desativado em 31 de março de 2025, exceto para os recursos de Análise e Diagnóstico, que continuarão a ter suporte até 30 de junho de 2026. Mais informações.
Arquivo 'React/RCTDefines.h' não encontrado
Este erro aparece quando as bibliotecas principais do RN não são referenciadas corretamente, o que pode ser causado por diferentes tipos de problemas de integração ou vinculação. Isso geralmente acontece quando você tem suas dependências vinculadas usando o caminho relativo em um podfile, em vez de estaticamente em um projeto.
Nosso script de vinculação suporta apenas a maneira padrão de vincular pods, portanto, para resolver o problema:
Substitua as dependências em seu
Podfilepor caminhos de vinculação relativos:Antes:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'Depois:
pod 'appcenter', path: '../node_modules/appcenter/ios' pod 'appcenter-analytics', path: '../node_modules/appcenter-analytics/ios' pod 'appcenter-crashes', path: '../node_modules/appcenter-crashes/ios'Executar
pod installa partir daiOSpasta.Dentro do AppDelegate.m, substitua as importações:
Antes:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>Depois:
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"Remova as dependências do AppCenter do projeto (clique com o botão direito do mouse na dependência > Remover dependência).
- Selecione <YOUR_APP> ->Libraries e remova os próximos arquivos:
AppCenterReactNative.xcodeprojAppCenterReactNativeAnalytics.xcodeprojAppCenterReactNativeCrashes.xcodeproj
- Abra as configurações do projeto e, na guia Geral , na seção Estruturas e Bibliotecas Vinculadas , remova os novos itens que fazem referência às bibliotecas de destino removidos na etapa anterior:
libAppCenterReactNative.alibAppCenterReactNativeAnalytics.alibAppCenterReactNativeCrashes.a
- Modifique os caminhos de pesquisa de cabeçalho para remover cabeçalhos dos projetos de plug-ins do AppCenter React Native. Abra as configurações do projeto e, na guia Configurações de compilação , na seção Caminhos de pesquisa de cabeçalho , remova os seguintes locais para arquivos de cabeçalho:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- Selecione <YOUR_APP> ->Libraries e remova os próximos arquivos:
Comando React Native link não reconhecido
Se você tiver yarn instalado em sua máquina, react-native init {myapp} inicializará seu aplicativo e instalará dependências usando yarn em vez de npm. Se você vir a seguinte mensagem de erro durante a execução de react-native link, é provável que as dependências do App Center sejam instaladas a partir de npm install {package} em vez de yarn add {package}, de forma que npm e yarn sejam misturadas durante a instalação.
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
Nesse caso, execute npm install e tente react-native link novamente.
Erro de compilação, como o arquivo 'AppCenterCrashes/MSACErrorReport.h' não encontrado
React-Native 0,60 e acima
A causa provável é o conflito entre versões significativas do pacote devido a uma alteração crítica no nosso SDK da Apple.
Certifique-se de que todos os
appcenterpacotes usam a mesma versão principal. Atualize-os comnpm installouyarnse necessário.Vá para a pasta ios do seu projeto e remova Podfile.lock e a pasta Pods .
Executar
pod install --repo-updatena sua pasta ios.Verifique se Podfile.lock contém
appcenterdependências da mesma versão principal.
React Native abaixo de 0,60
Uma possível causa é quando executar react-native link sem CocoaPods instalado.
Para confirmar a causa, execute react-native linke, nos logs, verifique a seguinte linha:
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
Esta linha está localizada na seguinte seção dos registos.
Added code to initialize iOS AppCenter SDK in ios/TestApp/AppDelegate.m
Installing Cocoapods dependencies...
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
rnpm-install info Platform 'ios' module appcenter-analytics is already linked
rnpm-install info Platform 'android' module appcenter-analytics is already linked
Se você vir esse erro, verifique se o pod comando do CocoaPods está disponível na variável de ambiente PATH do seu sistema.
Depois de corrigir a instalação do CocoaPods , execute pod install na pasta ios para corrigir seu projeto.
CocoaPods não conseguem encontrar uma especificação para AppCenterReactNativeShared durante o link react-native
Se vir a seguinte mensagem de erro do CocoaPods durante react-native link, é provável que o seu clone local (~/.cocoapods/repos na sua máquina) do repositório de especificações do CocoaPods possa não estar atualizado.
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Execute pod repo update para atualizar o repositório de especificações e tente react-native link novamente. Para obter mais informações sobre os comandos do CocoaPods, consulte Referência de linha de comando do CocoaPods.
Como atualizar o aplicativo usando o SDK do App Center do React Native 0.59 para 0.60
Para atualizar o React Native para a versão 0.60.0, use o seguinte comando:
react-native upgrade 0.60.0
Observação
Se durante uma atualização você receber esse erro Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git, execute as próximas etapas:
git init
git add .
git commit -m "Upgrade react-native"
Depois de concluir a atualização, você pode remover o .git diretório.
Atualizar React Native iOS
Abra o Podfile e substitua as dependências do App Center na seguinte linha:
use_native_modules!Execute o seguinte comando:
pod repo update
Como atualizar o React Native SDK para a versão mais recente
Se você já integrou nosso SDK em seu aplicativo e deseja atualizar para uma versão mais recente do SDK, siga as seguintes etapas para atualizar:
npm uninstall --save appcenter appcenter-analytics appcenter-crashespara desinstalar pacotes antigos do App Center.npm install --save-exact appcenter appcenter-analytics appcenter-crashespara instalar os pacotes mais recentes do App Center.pod repo updatepara se certificar de que o seu repositório de especificações CocoaPods está atualizado.react-native link.
Sugestão
Se vir uma mensagem de erro semelhante à seguinte mensagem de erro do CocoaPods durante react-native link, elimine o Podfile.lock gerado automaticamente na pasta ios e execute react-native link novamente.
[!] Unable to satisfy the following requirements: - `AppCenter/Core (= 1.0.0)` required by `Podfile.lock` - `AppCenter/Core (= 1.0.0)` required by `AppCenter/Crashes (1.0.0)` - `AppCenter/Core (= 1.0.0)` required by `AppCenter/Analytics (1.0.0)` - `AppCenter/Core (= 1.0.1)` required by `AppCenterReactNativeShared (1.0.1)`
Migração do jCenter para o Maven Central
Devido ao término do suporte do jCenter , todas as nossas montagens foram movidas para o repositório do Maven Central.
Para usar o App Center, você precisa adicionar mavenCentral() ao repositório em seu arquivo Gradle como abaixo:
repositories {
google()
mavenCentral()
}
Proteger o valor secreto do App Center
O app_secret é um identificador do seu aplicativo, é necessário saber a qual aplicativo o tráfego se aplica e não pode ser usado para recuperar ou editar dados existentes. Caso o seu app_secret esteja exposto, o maior risco é enviar dados incorretos para a sua aplicação, mas isso não terá impacto na segurança dos dados.
Para recuperar dados confidenciais, você precisa fornecer um token de aplicativo/usuário, que é gerado no lado do cliente. Não há como tornar os dados do lado do cliente completamente seguros.
Você pode melhorar a segurança do seu aplicativo usando uma variável de ambiente para injetar o segredo do aplicativo em seu código. Dessa forma, o segredo não fica visível no seu código.