Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Visual Studio App Center a été mis hors service le 31 mars 2025, à l’exception des fonctionnalités d’analyse et de diagnostic, qui continueront d’être prises en charge jusqu’au 30 juin 2026. En savoir plus.
Fichier 'React/RCTDefines.h' introuvable
Cette erreur s’affiche lorsque les bibliothèques principales RN ne sont pas référencées correctement, ce qui peut être dû à différents types d’intégration ou de liaison de problèmes. Cela se produit souvent lorsque vous avez vos dépendances liées à l’aide d’un chemin relatif dans un podfile, plutôt que statiquement dans un projet.
Notre script de liaison prend uniquement en charge la façon standard de lier des pods, afin de résoudre le problème :
Remplacez les dépendances dans votre
Podfilepar des chemins de liaison relatifs.Avant:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'Après :
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'Exécutez
pod installà partir du dossieriOS.Dans AppDelegate.m, remplacez les importations :
Avant:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>Après :
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"Supprimez les dépendances AppCenter du projet (cliquez avec le bouton droit sur la dépendance Supprimer la dépendance > ).
- Sélectionnez <YOUR_APP> ->Bibliothèques et supprimez les fichiers suivants :
AppCenterReactNative.xcodeprojAppCenterReactNativeAnalytics.xcodeprojAppCenterReactNativeCrashes.xcodeproj
- Ouvrez les paramètres de votre projet et, sous l’onglet Général , dans la section Infrastructures et bibliothèques liées , supprimez les nouveaux éléments référençant les bibliothèques cibles supprimées à l’étape précédente :
libAppCenterReactNative.alibAppCenterReactNativeAnalytics.alibAppCenterReactNativeCrashes.a
- Modifiez les chemins de recherche d’en-tête pour supprimer les en-têtes des projets de plug-ins AppCenter React Native. Ouvrez les paramètres de votre projet et, sous l’onglet Paramètres de build , dans la section Chemins de recherche d’en-tête , supprimez les emplacements suivants pour les fichiers d’en-tête :
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- Sélectionnez <YOUR_APP> ->Bibliothèques et supprimez les fichiers suivants :
Commande React Native Link non reconnue
Si vous avez yarn installé sur votre ordinateur, react-native init {myapp} initialisera votre application et installera les dépendances à l’aide yarn du lieu de npm. Si vous voyez le message d'erreur suivant lors de l'exécution de react-native link, il est probable que les dépendances d'App Center soient installées à partir de npm install {package} au lieu de yarn add {package}, ce qui entraîne un mélange entre npm et yarn pendant l'installation.
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
Dans ce cas, exécutez npm install et réessayez react-native link .
Erreur de compilation : fichier « AppCenterCrashes/MSACErrorReport.h » introuvable
React-Native 0,60 et versions ultérieures
La cause probable est le conflit entre les principales versions de package en raison d’un changement cassant dans notre Kit de développement logiciel (SDK) Apple.
Assurez-vous que tous les
appcenterpackages utilisent la même version principale. Mettez-les à jour avecnpm installouyarnsi nécessaire.Accédez au dossier ios de votre projet et supprimez Podfile.lock et le dossier Pods .
Exécutez
pod install --repo-updatedans votre dossier iOS.Vérifiez que Podfile.lock contient
appcenterdes dépendances de la même version principale.
React Native inférieur à 0,60
L’une des causes possibles est lors de l’exécution react-native link sans CocoaPods installé.
Pour confirmer la cause, exécuter react-native link et dans les journaux, vérifiez la ligne suivante :
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
Cette ligne se trouve dans la section suivante des journaux :
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
Si vous voyez cette erreur, vérifiez que la commande de pod est disponible dans la variable d’environnement PATH de votre système.
Après avoir corrigé l’installation de CocoaPods , exécutez pod install le dossier ios pour corriger votre projet.
CocoaPods ne parvient pas à trouver une spécification pour AppCenterReactNativeShared pendant le lien react-native
Si vous voyez le message d’erreur CocoaPods suivant pendant react-native link, il est probable que votre clone local (~/.cocoapods/repos sur votre ordinateur) du référentiel de spécification CocoaPods ne soit pas à jour.
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Exécutez pod repo update pour mettre à jour le référentiel de spécifications, puis réessayez react-native link . Pour plus d'informations sur les commandes CocoaPods, consultez la référence de la ligne de commande CocoaPods.
Mise à niveau de l’application à l’aide du Kit de développement logiciel (SDK) App Center de React Native 0.59 à 0.60
Pour mettre à niveau React Native vers la version 0.60.0, utilisez la commande suivante :
react-native upgrade 0.60.0
Remarque
Si, pendant une mise à niveau, vous obtenez cette erreur Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git, procédez comme suit :
git init
git add .
git commit -m "Upgrade react-native"
Une fois la mise à niveau terminée, vous pouvez supprimer le .git répertoire.
Mettre à jour React Native iOS
Ouvrez Podfile et remplacez les dépendances App Center sur la ligne suivante :
use_native_modules!Exécutez la commande suivante:
pod repo update
Comment mettre à jour le SDK React Native vers la dernière version
Si vous avez déjà intégré notre Kit de développement logiciel (SDK) à votre application et que vous souhaitez effectuer une mise à niveau vers une version plus récente du SDK, suivez les étapes suivantes pour effectuer la mise à niveau :
npm uninstall --save appcenter appcenter-analytics appcenter-crashespour désinstaller les anciens packages App Center.npm install --save-exact appcenter appcenter-analytics appcenter-crashespour installer les derniers packages App Center.pod repo updatepour vous assurer que votre dépôt de spécification CocoaPods est à jour.react-native link.
Conseil / Astuce
Si vous voyez un message d’erreur similaire au message d’erreur CocoaPods suivant pendant react-native link, supprimez le podfile.lock généré automatiquement dans votre dossier Ios et réexécutez react-native link ..
[!] 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)`
Migration de jCenter vers Maven Central
En raison de la fin de la prise en charge de jCenter , tous nos assemblys ont été déplacés vers le dépôt Maven Central.
Pour utiliser App Center, vous devez ajouter mavenCentral() au référentiel dans votre fichier Gradle comme ci-dessous :
repositories {
google()
mavenCentral()
}
Protéger la valeur secrète de l'App Center
Il app_secret s’agit d’un identificateur de votre application, il est nécessaire de connaître l’application à laquelle le trafic s’applique et il ne peut pas être utilisé pour récupérer ou modifier des données existantes. Si votre app_secret est exposé, le plus grand risque est d’envoyer des données incorrectes à votre application, mais cela n’aura pas d’effet sur la sécurité des données.
Pour récupérer des données sensibles, vous devez fournir un jeton d’application/utilisateur, qui est généré côté client. Il n’existe aucun moyen de sécuriser complètement les données côté client.
Vous pouvez améliorer la sécurité de votre application à l’aide d’une variable d’environnement pour injecter le secret d’application dans votre code. Ainsi, le secret n’est pas visible dans votre code.