React-Native WebView 개발 준비
레거시 코드 걷어내기
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용)
- 자바 설치
- openjdk 링크 파일 생성
- 자바 경로 지정 (JAVA_HOME 설정)
- 자바 버전 체크
# 자바 17로 설치 예정 (레거시 프로젝트) brew install openjdk@17
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
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와 시뮬레이터의 버전이 맞지 않아 연결이 거부됐다”는 뜻
- 시뮬레이터 및 CoreSimulator 프로세스 완전히 종료
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService sudo killall -9 Simulator
- DerivedData 및 시뮬레이터 데이터 리셋
rm -rf ~/Library/Developer/Xcode/DerivedData xcrun simctl shutdown all xcrun simctl erase all