회사에서 Firebase를 적용한 유니티 프로젝트를 iOS 빌드가 불가능한 상황이 발생했습니다. 원인은 Ruby 버전이 낮아서 새로운 버전의 CocoaPods를 설치하지 못하고 있었습니다.
사용중인 유니티 버전은 2018.4.26f1, 2019.4.13f1을, macOS는 10.15.7을 사용하고 있습니다.
Homebrew 설치
rbenv라는 cli 툴을 설치하기 위해 Homebrew를 설치합니다. 터미널을 실행시킨 후 아래 명령어를 입력해주세요.
Homebrew는 macOS의 터미널에서 이용 가능한 패키지 메니저입니다.
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
rbenv 설치 및 Ruby 버전 명시
특정 버전의 Ruby를 설치하기 위해 rbenv와 ruby-build라는 패키지를 설치합니다. 터미널에 아래 명령어를 순서대로 입력해주세요.
brew update // homebrew를 최신 버전으로 업데이트brew install rbenv ruby-build // rbenv, ruby-build 설치
그 다음으로는 환경 변수 설정용 명령어를 추가해줍니다. .bash_profile 또는 .zshrc 파일에 아래 명령어를 추가합니다. 저는 zsh을 사용중이라 .zshrc 파일로 진행했습니다. 아래 명령어를 통해 .zshrc 파일 내용을 수정합니다.
vi ~/.zshrc
.zshrc 파일에 아래 내용을 입력합니다.
eval “$(rbenv init -)”
내용을 다 입력했다면 vi를 빠져나와 아래 명령어를 실행시켜주세요.
source ~/.zshrc
다음으로 rbenv를 통해 최신 버전의 Ruby를 설치해줍니다. 저는 2.7.2 버전이 필요해 명시적으로 설치했습니다.
rbenv install 2.7.2 // ruby 2.7.2 설치rbenv rehash // ruby 실행용 shims 설치
이제 시스템 전역 또는 현재 위치에서 사용할 버전을 정의해줍니다.
rbenv global 2.7.2rbenv local 2.7.2
rvm을 통해 시스템 루비 버전 업데이트
위의 방법으로도 유니티가 최신 버전의 Ruby를 참조하지 못해서 CocoaPod을 업데이트 하지 못하는 상황이 발생합니다. 이런 경우에는 rvm을 통해서 macOS가 설치되면서 포함되는 Ruby를 업데이트 시켜줘야합니다.
rvm을 설치하려면 터미널에 아래 명령어를 입력해주세요.
curl -L https://get.rvm.io | bash -s stable
그리고 rvm을 통해 최신 버전의 루비를 설치합니다. 버전은 상황에 따라 필요한 버전을 명시해서 설치하시면 됩니다.
rvm install ruby-2.7.2
마지막으로 확실히 어떤 버전을 쓰고 있는지 명시하기 위해 터미널에 아래 명령어를 입력해주세요.
rvm use ruby-2.7.2ruby -v
CocoaPods 설치 및 업데이트
최신 버전의 Ruby가 성공적으로 설치되었다면, CocoaPod을 명시적으로 설치합니다.
gem uninstall cocoapods // 기존에 설치되어있던 CocoaPod 제거gem install cocoapods // CocoaPod 설치
CocoaPod을 명시적으로 설치 한 후에 유니티 에디터에서 External Dependency Manager->iOS Resolver->Install CocoaPods 또는 iOS 빌드 진행하면, 정상적으로 빌드 된 후 xcode workspace까지 생성된 것을 확인 할 수 있습니다.
가끔 권한 문제로 Active Support라는 패키지가 설치되지 않는 문제가 있습니다. 이것도 명시적으로 설치해주니 문제는 없었습니다.
gem install activesupport