목록으로

React-Native WebView 개발 준비

약 4분 읽기Development#Development댓글로 이동

레거시 코드 걷어내기

main
date
Oct 21, 2025
slug
react-native-webview
author
status
Public
tags
Development
summary
레거시 코드 걷어내기
type
Post
thumbnail
category
Development
updatedAt
Sep 15, 2026 06:20 AM
현재 우리 서비스의 앱의 경우 안드로이드는 Java, iOS는 Swift로 되어있는데 이마저도 버전이 너무 낮아서 지원 중단 및 종료된 기능이 많아 유지보수하는데 큰 어려움이 있다…
 
어차피 리뉴얼할 프로젝트에서는 React Native WebView 기반으로 변경할 예정이긴 했는데 최근에 웹 보다 앱에 대한 이슈가 계속 터지고 있는 상황이다.
 
그래서 리뉴얼 전에 현재 레거시 프로젝트를 우선적으로 RN으로 리뉴얼하는 방향으로 작업을 할까 하는데 잘 될지는 모르겠지만 우선 조금씩 기록해본다.
 
프로젝트 준비 (환경 설정)
react-native 0.82 버전을 사용할 예정이다.

Node 버전 체크

Node 최소 버전 20.19.4 이상
 
nvm install 20.19.4
 

Watchman (macOS 한정)

파일 변경 체크
 
brew install watchman

Java / Android Studio / JDK 설정 (Android용)

  • 자바 설치
    • # 자바 17로 설치 예정 (레거시 프로젝트) brew install openjdk@17
    • openjdk 링크 파일 생성
      • sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
    • 자바 경로 지정 (JAVA_HOME 설정)
      • vi ~/.zshrc # 아래 입력 export JAVA_HOME_17="/opt/homebrew/opt/openjdk@17" export PATH=$JAVA_HOME_17/bin:$PATH # 저장 후 변경 내용 적용 source ~/.zshrc
    • 자바 버전 체크
      • java -version # 또는 /usr/libexec/java_home -V
  • Android Studio 설치
    • 👉 https://developer.android.com/studio
  • SDK Manager에서 다음 설치:
    • Android SDK Platform 34
    • Android SDK Build-Tools 34.x
    • Android Emulator
    • Android SDK Command-line Tools
 
환경변수 설정 (Mac/Linux):
# 현재 설정되어있는 환경 변수 dahoon@macbook-2 ~ % cat ~/.zshrc export JAVA_HOME=/opt/homebrew/opt/openjdk@17 export PATH=$JAVA_HOME/bin:$PATH export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/platform-tools

Xcode 설치 (iOS용)

sudo xcode-select --switch /Applications/Xcode.app

React-Native 설치

React Native 0.82부터는 새로운 CLI 패키지(@react-native-community/cli) 대신 기본적으로 포함된 CLI 를 사용
npx @react-native-community/cli@latest init MyApp --version 0.82.0
 

iOS 실행

# cocoaPods 가 설치되어있지 않다면 설치 필요 sudo gem install cocoapods # pod 설치 경로 찾기 which pod # 만약 not found 라면 경로 설치가 안된것 # cocoaPods 설치 경로 체크 gem env # 예시 - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0 - EXECUTABLE DIRECTORY: /usr/local/bin # EXECUTABLE DIRECTORY 이 경로를 환경 변수에 설정해줘야한다. vi ~/.zshrc echo 'export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"' >> ~/.zshrc source ~/.zshrc ### 위 방법으로 설치 안돼서 다시 설치한다. brew install cocoapods # pod 설정 체크 which pod pod --version # xCode 프로젝트를 실행하기위해서는 웹 처럼 프로젝트르 폴더를 여는게 아니고 .xcworkspace # 파일을 열어야한다. pod install 하게될 경우 해당 파일이 생성된다. open <프로젝트>.xcworkspace ########################### ## 아래는 RN cd MyApp npx pod-install ios npx react-native run-ios
 
rosetta 2
 

Android 실행

npx react-native run-android
💡 에뮬레이터가 켜져 있어야 함
Android Studio → “AVD Manager” → “Run Emulator”
 
java의 nvm 역할 (자바 버전 관리)
brew install jenv
 
💡
Loaded CoreSimulatorService is no longer valid for this process Simulator services will no longer be available.  Error=Error Domain=NSPOSIXErrorDomain Code=61 "Connection refused" UserInfo={NSLocalizedDescription=CoreSimulator.framework was changed while the process was running.  This is not a supported configuration and can occur if Xcode.app was updated while the process was running.  Service version (1048) does not match expected service version (987.2).}
Xcode가 업데이트되었거나, 버전이 바뀐 상태에서 이전 버전의 시뮬레이터 프로세스가 여전히 실행 중이라 생긴 충돌
“Xcode와 시뮬레이터의 버전이 맞지 않아 연결이 거부됐다”는 뜻
  1. 시뮬레이터 및 CoreSimulator 프로세스 완전히 종료
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService sudo killall -9 Simulator
 
  1. DerivedData 및 시뮬레이터 데이터 리셋
rm -rf ~/Library/Developer/Xcode/DerivedData xcrun simctl shutdown all xcrun simctl erase all