네이티브 코드 디버깅
로그 확인하기
실행 중인 iOS 또는 Android 앱의 네이티브 로그를 확인하려면 터미널에서 다음 명령어를 사용한다:
# Android:
npx react-native log-android
# iOS:
npx react-native log-ios
iOS 시뮬레이터에서는 Debug > Open System Log… 메뉴를 통해, Android 기기나 에뮬레이터에서는 adb logcat "*:S" ReactNative:V ReactNativeJS:V
명령어를 실행해 로그를 확인할 수도 있다.
💡 커스텀 네이티브 로그
네이티브 모듈을 작성할 때 디버깅을 위해 커스텀 로그를 추가하려면 다음 방법을 사용할 수 있다:
Android (Java/Kotlin)
네이티브 모듈에서 Log
클래스를 사용해 Logcat에서 확인할 수 있는 로그를 추가한다:
import android.util.Log;
private void log(String message) {
Log.d("YourModuleName", message);
}
Logcat에서 이 로그를 보려면, YourModuleName
을 커스텀 태그로 바꿔서 다음 명령어를 사용한다:
adb logcat "*:S" ReactNative:V ReactNativeJS:V YourModuleName:D
iOS (Objective-C/Swift)
네이티브 모듈에서 커스텀 로그를 남기려면 NSLog
를 사용한다:
NSLog(@"YourModuleName: %@", message);
Swift에서는 다음과 같이 작성한다:
print("YourModuleName: \(message)")
앱을 실행하면 이러한 로그들이 Xcode 콘솔에 표시된다.
네이티브 IDE에서 디버깅하기
네이티브 모듈을 작성할 때와 같이 네이티브 코드를 다룰 때는 Android Studio나 Xcode에서 앱을 실행하고, 일반 네이티브 앱을 빌드할 때와 마찬가지로 네이티브 디버깅 기능(브레이크포인트 설정 등)을 활용할 수 있다.
또 다른 방법은 React Native CLI를 사용해 애플리케이션을 실행한 후, 네이티브 IDE(Android Studio 또는 Xcode)의 네이티브 디버거를 해당 프로세스에 연결하는 것이다.
Android Studio에서 이 작업을 수행하려면 메뉴 바의 "Run" 옵션으로 이동한 후, "Attach to Process..."를 클릭하고 실행 중인 React Native 앱을 선택하면 된다.
Xcode에서 상단 메뉴 바의 "Debug"를 클릭한 후, "Attach to process" 옵션을 선택한다. 그런 다음 "Likely Targets" 목록에서 원하는 애플리케이션을 선택한다.