跳到主要內容

偵錯原生碼

存取記錄

您可以使用終端機中的以下命令,在應用程式執行時顯示 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」清單中選擇應用程式。