React-Native

[React-Native][Expo] IOS Deploy 오류해결

leejin_rho 2024. 10. 8. 15:45

velog에 적었던 글들을 차근차근 tistory로 옮길 예정입니다.

 

[Expo] [react-native] IOS Deploy 오류해결

안드로이드 빌드 중 expo doctor에서 문제가 생겼었다. 그리고 해결해 빌드를 완료했고 이번에는 ios빌드를 시작하게 되었다. 당연히 이미 문제들을 해결했기 때문에 쉽게 될거라고 생각했지만... co

velog.io

 

Expo IOS Deploy


Android 빌드를 완료하고, Expo IOS 빌드를 시작하게 되었다. 
IOS빌드는 우선 Apple Developer 계정을 가입한 후 진행하면 되는데, 나는 preview로 확인해보기 위해서

#preview 구성으로 ios 플랫폼에 대한 빌드 생성
eas build --profile preview --platform ios


preview 명령어를 이용해 진행했다.

 

이때 다양한 설정 질문들이 나오는데, IOS deploy를 처음하는 것이었기 때문에 대부분은 새로 만들거나 직접 설정해줘야했다. push notification 같은 경우에도 앞으로 할 가능성도 있기 때문에 설정해줬다. 중간에 key를 새로 만들거냐고 물어보는 항목이 있었는데, 처음Deploy 할 때는 이걸 꼭 새로 만든다고 해야한다.


그리고 나는 내 핸드폰에 직접 받아보기 위해서 web을 통해 다운받는 형식을 선택했다. 다운방법은 expo에서 알려주는대로 설정창에서 다운받으면 되고, 빌드가 성공하면 그대로 핸드폰에 저절로 설치된다. 이때 앱을 열어보려면 개발자모드로 열어봐야한다.

Android 빌드를 하며 이미 문제들을 해결했기 때문에, 당연히 쉽게 빌드 될 것이라고 생각했지만, cocoa pod에서 문제가 생겼다. 

 

계속 수정하며 여러번 빌드했지만 실패



나에게 생긴 오류 로그는

Using Expo modules

[Expo] Enabling modular headers for pod ExpoModulesCore

Auto-generating `.xcode.env.local` with $NODE_BINARY=/Users/expo/.nvm/versions/node/v16.18.1/bin/node

Auto-linking React Native modules for target `fitnee`: RNCAsyncStorage, RNCMaskedView, RNCPicker, RNDateTimePicker, RNFS, RNGestureHandler, RNReanimated, RNSVG, RNScreens, RNShare, react-native-appearance-control, react-native-safe-area-context, and react-native-view-shot

Framework build type is static library

[stderr] 

[!] The version of CocoaPods used to generate the lockfile (1.12.1) is higher than the version of the current executable (1.11.3). Incompatibility issues may arise.

[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json

Analyzing dependencies

[!] Could not automatically select an Xcode project. Specify one in your Podfile like so:

    project 'path/to/Project.xcodeproj'

pod install exited with non-zero code: 1


그리고 나는 이 오류가 실제 내가 설치한 CocoaPods과 lockfile의 CocoaPods과의 버전 차이가 문제라고 생각했고, 그래서 brew upgrade cocopods를 이용해 내가 설치한 버전을 1.13.0로 올렸다. 하지만 문제는 해결되지 않았고, 계속 같은 오류가 뜨며 내 버전이 여전히 1.11.3이라고 나왔다.


그래서 pod cache clean --all 을 이용해 캐시 삭제 후 다시 버전 업을 시도했지만 여전히 빌드에 실패했다.


더 찾아본 결과 podfile.lock을 아예 삭제하고 다시 하면 오류가 사라진다는 글을 발견할 수 있었고, 삭제하고 다시했더니

 

문제가 사라지고 다행히 제대로 빌드가 됐다. 이 문제를 겪고 있다면 lock파일을 아예 삭제하고 버전을 맞추는걸 추천한다.


드디어 빌드해서 핸드폰으로 열어본 애플리케이션 !

 

chatGPT를 이용해 운동 루틴을 추천해주는 피트니스 앱인데, 아래의 랜딩페이지에서 더 자세히 확인해볼 수 있다.
https://fitnee.co.kr/

 

fitnee

마이페이지 기록, 분석, 루틴 내용모두 자동으로 업데이트 돼요 캘린더와 그래프를 통해 한눈에 나의 운동 현황을분석할 수 있어요.

www.fitnee.co.kr