[CocoaPods] 리액트 네이티브에서 PhaseScriptExecution 해결하기

부기·2023년 5월 4일
0
post-thumbnail

평소처럼 yarn start 로 Metro 를 켜고 리액트 네이티브 프로젝트에서 iOS 앱을 빌드하는데 오류가 생겼다. 아무래도 Xcode 버전을 14.2 에서 14.3 으로 업데이트해서 문제가 생긴 것 같았다.

언제 고쳐질 지는 모르겠지만 해결한 방법을 적어두려고 한다. 간혹 Xcode 버전을 14.2 로 내리면 된다는 글을 봤는데 해보진 않았지만 그게 편한 사람은 그렇게 해도 될 것 같다. 다운그레이드하기 귀찮았다.

  • 2023.05.12 - 추가 내용
    CocoaPods 에서 해당 내용을 반영하여 릴리즈했다. CocoaPods 를 1.12 버전으로 업데이트하면 이 오류는 발생하지 않는다. (관련 Pull Request)

오류 개요

yarn ios 로 빌드 시 터미널에 이런 오류가 난다. 개발하고 있는 사람들은 알겠지만, 빌드 명령어 입력 후에 깔끔하게 구동되지 않고 텍스트를 토해내며 터미널이 쭉쭉 올라가는 순간 감이 온다. (아.. 또.. 왜...)

오류 내용

Metro 터미널에 다음과 같은 오류가 떴다.

PhaseScriptExecution [CP]\ Copy\ XCFrameworks /Users/seongminha/Library/Developer/Xcode/DerivedData/프로젝트명-fcoljohuftgfmrfmtmbpnzenyivn/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/OpenSSL-Universal.build/Script-46EB2E00018F60.sh 
(in target 'OpenSSL-Universal' from project 'Pods')

해결 방법

ios/Pods/Target Support Files/Pods-프로젝트명/Pods-프로젝트명-frameworks.sh 파일에 가서 이 부분을 수정해주면 된다. source 변수를 할당하는 부분에 단순히 커맨드 파라미터 -f 만 추가해주면 된다.

install_framework()
{
	...
    if [ -L "${source}" ]; then
    	echo "Symlinked..."
    	source="$(readlink -f "${source}")"
  	fi
    ...
}

후기

빌드 오류를 마주할 때마다 느끼는 거지만 뭐랄까 확실히 웹 프로젝트보다 훨씬 버전 호환이나 종속성에 민감한 느낌이다. npm 모듈이든 Xcode 이든 하나 업데이트 하면 갑자기 되던 게 안 된다.. 이걸 다 이해하면서 고치기가 어렵게 느껴지긴 하는데, 익숙해지면 해결 방법을 찾는 것도 조금씩 빨라지지 않을까 싶다.

참고 자료

profile
도파민 중독 프론트엔드 개발자

0개의 댓글