Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
Nie znaleziono pliku React/RCTDefines.h
Ten błąd pojawia się, gdy biblioteki podstawowe RN nie są poprawnie przywoływane, co może być spowodowane przez różne rodzaje problemów z integracją lub łączeniem. Często zdarza się to, gdy masz połączone zależności przy użyciu ścieżki względnej w pliku podfile, a nie statycznie w projekcie.
Nasz skrypt integracji obsługuje tylko standardowy sposób powiązania podów, więc aby rozwiązać problem:
Zastąp zależności w swoim
Podfileścieżkami linków względnych.Przed:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'Po:
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'Uruchom
pod installz folderuiOS.Wewnątrz pliku AppDelegate.m zastąp importy:
Przed:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>Po:
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"Usuń zależności programu AppCenter z projektu (kliknij prawym przyciskiem myszy zależność > Usuń zależność).
- Wybierz <pozycję YOUR_APP> ->Libraries i usuń następne pliki:
AppCenterReactNative.xcodeprojAppCenterReactNativeAnalytics.xcodeprojAppCenterReactNativeCrashes.xcodeproj
- Otwórz ustawienia projektu i na karcie Ogólne w sekcji Połączone struktury i biblioteki usuń nowe elementy odwołujące się do bibliotek docelowych usuniętych w poprzednim kroku:
libAppCenterReactNative.alibAppCenterReactNativeAnalytics.alibAppCenterReactNativeCrashes.a
-
Zmodyfikuj ścieżki wyszukiwania nagłówków, aby usunąć nagłówki z projektów wtyczki React Native w programie AppCenter. Otwórz ustawienia projektu i na karcie Ustawienia kompilacji w sekcji Ścieżki wyszukiwania nagłówków usuń następujące lokalizacje dla plików nagłówków:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- Wybierz <pozycję YOUR_APP> ->Libraries i usuń następne pliki:
Polecenie linku React Native nierozpoznane
Jeśli masz yarn zainstalowane na swoim komputerze, react-native init {myapp} zainicjuje Twoją aplikację i zainstaluje zależności przy użyciu yarn zamiast npm. Jeśli podczas uruchamiania react-native linkzostanie wyświetlony następujący komunikat o błędzie, prawdopodobieństwo, że zależności Centrum aplikacji są zainstalowane npm install {package} zamiast yarn add {package} tego, że npm i yarn są mieszane podczas instalacji.
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
W takim przypadku uruchom polecenie npm install i spróbuj react-native link ponownie.
Nie można odnaleźć pliku kompilacji, takiego jak "AppCenterCrashes/MSACErrorReport.h"
React-Native 0,60 i nowszych
Prawdopodobną przyczyną jest konflikt między głównymi wersjami pakietów z powodu zmiany powodującej niezgodność w zestawie SDK firmy Apple.
Upewnij się, że wszystkie
appcenterpakiety używają tej samej wersji głównej. Zaktualizuj je za pomocąnpm installlubyarnw razie potrzeby.Przejdź do folderu ios projektu i usuń folder Podfile.lock i Zasobniki .
Uruchom
pod install --repo-updatew swoim folderze ios.Sprawdź, czy plik Podfile.lock zawiera
appcenterzależności tej samej wersji głównej.
React Native niższe niż 0,60
Jedną z możliwych przyczyn jest uruchomienie react-native link bez zainstalowanego narzędzia CocoaPods .
Aby potwierdzić przyczynę, wykonaj react-native link polecenie i w dziennikach sprawdź następującą linię:
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
Ten wiersz znajduje się w następującej sekcji dzienników:
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
Jeśli widzisz ten błąd, upewnij się, że pod polecenie z cocoaPods jest dostępne w zmiennej środowiskowej PATH systemu.
Po naprawieniu instalacji CocoaPods, uruchom polecenie pod install w folderze ios, aby naprawić projekt.
CocoaPods nie może znaleźć specyfikacji appCenterReactNativeShared podczas linku natywnego react
Jeśli podczas wykonywania react-native linkpolecenia zostanie wyświetlony następujący komunikat o błędzie CocoaPods, prawdopodobieństwo, że klon lokalny (~/.cocoapods/repos na maszynie) repozytorium spec CocoaPods nie jest aktualne.
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Uruchom polecenie pod repo update , aby zaktualizować repozytorium specyfikacji i spróbuj react-native link ponownie. Aby uzyskać więcej informacji na temat poleceń cocoaPods, zobacz CocoaPods command line reference (Dokumentacja wiersza polecenia cocoaPods).
Jak uaktualnić aplikację przy użyciu zestawu SDK usługi App Center z oprogramowania React Native 0.59 do 0.60
W przypadku uaktualniania oprogramowania React Native do wersji 0.60.0 użyj następującego polecenia:
react-native upgrade 0.60.0
Uwaga / Notatka
Jeśli podczas uaktualniania wystąpi ten błąd Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git, wykonaj następujące kroki:
git init
git add .
git commit -m "Upgrade react-native"
Po ukończeniu procesu uaktualniania można usunąć katalog .git.
Aktualizowanie oprogramowania React Native dla systemu iOS
Otwórz plik Podfile i zastąp zależności centrum aplikacji w następującym wierszu:
use_native_modules!Uruchom następujące polecenie:
pod repo update
Jak zaktualizować zestaw React Native SDK do najnowszej wersji
Jeśli zestaw SDK został już zintegrowany z aplikacją i chcesz uaktualnić go do nowszej wersji zestawu SDK, wykonaj następujące kroki, aby uaktualnić:
npm uninstall --save appcenter appcenter-analytics appcenter-crashesaby odinstalować stare pakiety App Center.npm install --save-exact appcenter appcenter-analytics appcenter-crashesaby zainstalować najnowsze pakiety usługi App Center.pod repo updateaby upewnić się, że repozytorium spec CocoaPods jest aktualne.react-native link.
Wskazówka
Jeśli zobaczysz komunikat o błędzie podobny do następującego komunikatu o błędzie CocoaPods podczas react-native link, usuń automatycznie wygenerowany plik Podfile.lock w folderze ios i uruchom react-native link ponownie.
[!] 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)`
Migracja z programu jCenter do usługi Maven Central
Ze względu na zakończenie obsługi programu jCenter wszystkie nasze zestawy zostały przeniesione do repozytorium Maven Central.
Aby użyć centrum aplikacji, musisz dodać mavenCentral() do repozytorium w pliku Gradle, jak pokazano poniżej:
repositories {
google()
mavenCentral()
}
Chroń tajną wartość centrum aplikacji
app_secret jest identyfikatorem aplikacji, który jest wymagany, aby wiedzieć, do której aplikacji odnosi się ruch sieciowy, ale nie może być używany do pobierania ani edytowania istniejących danych. Jeśli twoje app_secret jest narażone, największym ryzykiem jest wysłanie złych danych do aplikacji, ale nie wpłynie to na bezpieczeństwo danych.
Aby pobrać wszelkie poufne dane, należy podać token aplikacji/użytkownika, który jest generowany po stronie klienta. Nie ma możliwości całkowitego zabezpieczenia danych po stronie klienta.
Zabezpieczenie aplikacji można poprawić, używając zmiennej środowiskowej do wstrzykiwania tajnych danych aplikacji do kodu. W ten sposób sekret nie jest widoczny w kodzie.