출처 : https://reactnative.dev/docs/environment-setup
-최근 버전의 node.js
-모바일 기기 / emulator
1) 아이폰: Xcode
xcode-select --install
2) 안드로이드 : Android Studio
이 둘을 설치하는데 시간이 좀 걸린다
특히 Xcode는 앱스토어에서 설치하려면 시간도 장난 아니게 들고 번거로워서
이 방법을 사용하는 것을 추천한다.
버전 업그레이드가 필요하다고 할 때도 있는데 그럼 이걸 참고하는 것을 추천한다.
또 xcode의 cli tool까지 설치하려면 엄청 무거워서 메모리를 어느 정도 확보하고 해야 한다.
3) node : 14 이상의 버전
4) watchman : 페이스북이 만든 툴로 파일 시스템에서 생긴 변화를 트래킹한다. 더 좋은 퍼포먼스를 위해 추천한다
brew install node
brew install watchman
5) cocoapods
출처 : https://guides.cocoapods.org/using/using-cocoapods.html
- 아래와 같이 Podfile를 생성한다
- pod install
- App.xcworkspace를 열어서 빌드한다
target 'MyApp' do
pod 'AFNetworking', '~> 3.0'
pod 'FBSDKCoreKit', '~> 4.9'
end
sudo gem install cocoapods //mac에 있는 디폴트 ruby로 gem 설치, cocoapod 설치
M1의 경우 에러가 일어날 수 있다
에러 발생 시
arch -x86_64 pod install (추천)
이 명령어들을 통해 해결
ffi 패키지를 설치해서 동적으로 연결된 라이브러리들을 준비시켜주고 pod install을 제대로 할 수 있게 해준다
cocoapods를 이용해서 xcode 프로젝트를 생성하는 방법
1. xcode 프로젝트를 하나 만든다
2. 해당 프로젝트 디렉토리로 들어간다
3. pod init 를 이용해서 podfile을 생성한다
4. podfile을 열어서 첫 줄에 플랫폼과 버전을 명시한다 : platform :ios, '9.0'
5. CocoaPods를 이용하기 위해서는 연결할 Xcode 타겟을 정의해준다
- 앱의 이름을 이용해서 연결해준다
- target section을 만들어서 한다
6. target section에 pod '$PODNAME'을 추가해서 Cocoapod 하나를 추가한다
target '앱의 이름' do
//이 사이가 target section
end
예시
target 'MyApp' do
pod 'ObjectiveSugar'
end
만약 이미 있는 workspace와 cocoapod를 통합하려면
react native pod 관련 에러 해결
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65.
출처 : https://velog.io/@bcgo99/react-native-pod-%EA%B4%80%EB%A0%A8-%EC%97%90%EB%9F%ACm1-silicon
6) rn cli
명령어들
cf. 이미 있는 앱과 연결 시 : https://reactnative.dev/docs/integration-with-existing-apps
1. 새로운 프로젝트 생성
npx react-native init AwesomeProject
2. 특정 버전 사용하기
npx react-native init AwesomeProject --version X.XX.X
3. RN 템플릿을 이용해서 프로젝트 만들기 ex. 타입스크립트 이용
npx react-native init AwesomeTSProject --template react-native-template-typescript
=> 만약 이런 명령어들이 실패한다면 rn의 버전이 오래되었거나 rn-cli가 글로벌하게 설치되어 있을 수 있으니까 설치된 것을 삭제하고 다시 npx를 이용해서 cli를 실행하는 것이 좋다
//metro bundler 시작하기
npx react-native start
yarn react-native start
npx react-native run-ios
cf. 깃 특정 브랜치만 clone하는 방법
git clone -b {branch_name} --single-branch {저장소 URL}