React Native SDK Sorunlarını Giderme
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
'React/RCTDefines.h' dosyası bulunamadı
Bu hata, RN çekirdek kitaplıklarına doğru başvurulmadığında ortaya çıkar ve bunun nedeni farklı türlerde tümleştirme veya bağlama sorunları olabilir. Bağımlılıklarınız genellikle bir projede statik olarak değil, bir pod dosyasında göreli yol kullanılarak bağlandığında gerçekleşir.
Bağlama betiğimiz yalnızca podları bağlamanın standart yolunu desteklediğinden sorunu çözmek için:
öğesinizdeki
Podfile
bağımlılıkları göreli bağlama yollarıyla değiştirin:Önce:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'
Sonra:
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'
Klasörden
iOS
komutunu çalıştırınpod install
.AppDelegate.m içinde içeri aktarmaları değiştirin:
Önce:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>
Sonra:
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"
AppCenter bağımlılıklarını projeden kaldırın (bağımlılığı kaldır bağımlılığına > sağ tıklayın).
- YOUR_APP> -Kitaplıklar'ı seçin< ve sonraki dosyaları kaldırın:>
AppCenterReactNative.xcodeproj
AppCenterReactNativeAnalytics.xcodeproj
AppCenterReactNativeCrashes.xcodeproj
- Proje ayarlarınızı açın ve Bağlı Çerçeveler ve Kitaplıklar bölümündeki Genel sekmesinin altında, önceki adımda kaldırılan hedef kitaplıklara başvuran yeni öğeleri kaldırın:
libAppCenterReactNative.a
libAppCenterReactNativeAnalytics.a
libAppCenterReactNativeCrashes.a
- AppCenter React Native eklentileri projelerinden üst bilgileri kaldırmak için Üst Bilgi Arama Yollarını değiştirin. Proje ayarlarınızı açın ve Üst Bilgi Arama Yolları bölümündeki Derleme Ayarları sekmesinin altında üst bilgi dosyaları için aşağıdaki konumları kaldırın:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative
$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics
$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- YOUR_APP> -Kitaplıklar'ı seçin< ve sonraki dosyaları kaldırın:>
React Native bağlantı komutu tanınmadı
Makinenize yüklediyseniz yarn
uygulamanızı react-native init {myapp}
başlatır ve yerine kullanarak yarn
npm
bağımlılıkları yükler. çalıştırırken react-native link
aşağıdaki hata iletisini görürseniz, App Center bağımlılıkları bunun yerine yarn add {package}
npm
yerine öğesinden npm install {package}
yüklenir ve yarn
yükleme sırasında karıştırılır.
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
Bu durumda komutunu çalıştırın npm install
ve yeniden deneyin react-native link
.
'AppCenterCrashes/MSACErrorReport.h' dosyası bulunamadı gibi derleme hatası
React-Native 0,60 ve üzeri
Bunun olası nedeni, Apple SDK'mızdaki hataya neden olan bir değişiklik nedeniyle ana paket sürümleri arasındaki çakışmadır.
Tüm
appcenter
paketlerin aynı ana sürümü kullandığından emin olun. Bunları veya gerekirse ilenpm install
yarn
güncelleştirin.Projenizin ios klasörüne gidin ve Podfile.lock dosyasını ve Pods klasörünü kaldırın.
ios klasörünüzde komutunu çalıştırın
pod install --repo-update
.Podfile.lock dosyasının aynı ana sürüme ait bağımlılıklar içerdiğini
appcenter
doğrulayın.
React Native 0,60'tan düşük
Olası nedenlerden biri, CocoaPods yüklü olmadan çalışırken react-native link
olmasıdır.
Nedenini react-native link
doğrulamak için , ve günlüklerinde aşağıdaki satırı denetleyin:
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
Bu satır günlüklerin aşağıdaki bölümünde bulunur:
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
Bu hatayı görürseniz, CocoaPods'tan gelen komutun sisteminizin PATH ortam değişkeninde kullanılabilir olduğundan emin olunpod
.
CocoaPods yüklemenizi düzeltdikten sonra, projenizi düzeltmek için ios klasöründe komutunu çalıştırınpod install
.
CocoaPods, react-native bağlantısı sırasında AppCenterReactNativeShared belirtimini bulamıyor
sırasında react-native link
aşağıdaki CocoaPods hata iletisini görürseniz, CocoaPods spec deposunun yerel kopyanızın (~/.cocoapods/repos
makinenizde) güncel olma olasılığı vardır.
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Belirtim deposunu güncelleştirmek için komutunu çalıştırın pod repo update
ve yeniden deneyin react-native link
. CocoaPods komutları hakkında daha fazla bilgi için bkz . CocoaPods komut satırı başvurusu.
App Center SDK kullanarak uygulamayı React Native 0.59'dan 0.60'a yükseltme
React Native 0.60.0 sürümüne yükseltmek için aşağıdaki komutu kullanın:
react-native upgrade 0.60.0
Not
Yükseltme sırasında bu hatayı Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git
alırsanız, sonraki adımları gerçekleştirin:
git init
git add .
git commit -m "Upgrade react-native"
Yükseltmeyi tamamladıktan sonra dizini kaldırabilirsiniz .git
.
iOS React Native güncelleştirme
Podfile dosyasını açın ve App Center bağımlılıklarını aşağıdaki satırda değiştirin:
use_native_modules!
Şu komutu çalıştırın:
pod repo update
React Native SDK'sını en son sürüme güncelleştirme
SDK'mızı uygulamanızla zaten tümleştirdiyseniz ve SDK'nın daha yeni bir sürümüne yükseltmek istiyorsanız, yükseltmek için aşağıdaki adımları izleyin:
npm uninstall --save appcenter appcenter-analytics appcenter-crashes
eski App Center paketlerini kaldırmak için.npm install --save-exact appcenter appcenter-analytics appcenter-crashes
en son App Center paketlerini yüklemek için.pod repo update
CocoaPods spec deponuzun güncel olduğundan emin olmak için.react-native link
.
İpucu
sırasında react-native link
aşağıdaki CocoaPods hata iletisine benzer bir hata iletisi görürseniz, ios klasörünüzde otomatik olarak oluşturulan Podfile.lock dosyasını silin ve yeniden çalıştırınreact-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)`
jCenter'den Maven Central'a geçiş
jCenter desteğinin sona ermesi nedeniyle tüm derlemelerimiz Maven Central deposuna taşındı.
App Center'ı kullanmak için aşağıdaki gibi Gradle dosyanızdaki depoya eklemeniz mavenCentral()
gerekir:
repositories {
google()
mavenCentral()
}
App Center gizli dizi değerini koruma
app_secret
uygulamanızın tanımlayıcısıdır; trafiğin hangi uygulamaya uygulandığını bilmeniz gerekir ve mevcut verileri almak veya düzenlemek için kullanılamaz. Uygulamanız app_secret
kullanıma sunulursa en büyük risk uygulamanıza hatalı veri göndermektir, ancak verilerin güvenliği üzerinde bir etkisi olmaz.
Hassas verileri almak için istemci tarafında oluşturulan bir uygulama/kullanıcı belirteci sağlamanız gerekir. İstemci tarafında verileri tamamen güvenli hale getirmenin bir yolu yoktur.
Uygulama gizli dizisini kodunuza eklemek için bir ortam değişkeni kullanarak uygulamanızın güvenliğini geliştirebilirsiniz. Bu şekilde gizli dizi kodunuzda görünmez.