偵錯原生碼
存取記錄
您可以使用終端機中的以下命令,在應用程式執行時顯示 iOS 或 Android 應用程式的原生記錄
shell
# For Android:
npx react-native log-android
# Or, for iOS:
npx react-native log-ios
您也可以透過 iOS 模擬器中的「Debug」>「Open System Log…」來存取這些記錄,或在 Android 應用程式於裝置或模擬器上執行時,在終端機中執行 adb logcat "*:S" ReactNative:V ReactNativeJS:V
。
💡 自訂原生記錄
如果您正在編寫原生模組,並希望為您的模組新增自訂記錄以進行偵錯,您可以使用以下方法
Android (Java/Kotlin)
在您的原生模組中,使用 Log
類別新增可在 Logcat 中檢視的記錄
java
import android.util.Log;
private void log(String message) {
Log.d("YourModuleName", message);
}
若要在 Logcat 中檢視這些記錄,請使用此命令,並將 YourModuleName
替換為您的自訂標籤
shell
adb logcat "*:S" ReactNative:V ReactNativeJS:V YourModuleName:D
iOS (Objective-C/Swift)
在您的原生模組中,使用 NSLog
進行自訂記錄
objective-c
NSLog(@"YourModuleName: %@", message);
或者,在 Swift 中
swift
print("YourModuleName: \(message)")
當應用程式執行時,這些記錄將會出現在 Xcode 主控台中。
在原生 IDE 中偵錯
當您使用原生碼時,例如在編寫原生模組時,您可以從 Android Studio 或 Xcode 啟動應用程式,並利用原生偵錯功能(設定中斷點等),就像建置標準原生應用程式一樣。
另一種選擇是使用 React Native CLI 執行您的應用程式,並將原生 IDE(Android Studio 或 Xcode)的原生偵錯工具附加到該程序。
Android Studio
在 Android Studio 上,您可以透過前往選單列上的「Run」選項,點擊「Attach to Process...」,然後選擇正在執行的 React Native 應用程式來執行此操作。
Xcode
在 Xcode 上,點擊頂端選單列上的「Debug」,選擇「Attach to process」選項,然後在「Likely Targets」清單中選擇應用程式。