Unity

[Unity] IOS용 앱스토어 빌드/IPA파일 만들기 (undefined symbol 에러 해결 방법)

KaiTae 2024. 8. 21. 19:03

애플 개발자 계정이 승인되어 앱스토어 빌드 업로드를 해야 했는데,

순조롭게 되지 않아서 저와 같은 분이 있을까봐 작성합니다.

 

보다가 자세한 방법을 모르겠으면 챗 지피티한테 물어보시면 됩니다.

 

제 대략적인 환경은 다음과 같았습니다.

 - Windows10에서 개발

 - 최신 Mac(빌림)에서 XCODE 프로그램만 사용

 - iOS 17.6.1 버전의 아이폰을 xcode연동

 - 정품 c to lightning Cable >>> 이거 중요합니다. 저의 경우에는 정품이 아니면 휴대폰이 인식되지 않는 현상있었습니다.


그럼, 조금 기억과 다를 수도 있지만 순차적으로 거친 과정을 소개하겠습니다.

1. 유니티 Bulid Settings에서 Platform을 IOS로 변경

만약 비활성화 되어 있다면 Unity Hub에 가서 다운로드 해야 합니다.

 

2. 빌드 후 만들어진 폴더 Mac으로 파일 전송

구글 드라이브를 이용해서 폴더 업/다운로드 했습니다.

 

3. mac에 xcode 프로그램 설치

주의할 점이 있는데 xcode의 호환성을 잘 고려해서 설치해야 한다는 점입니다.

mac os version, iphone os version 두 가지 고려해서 무턱대고 최신버전이 아닌 릴리스된 버전 중에서 선택해야 합니다.

 

아래 링크에서 내리시면 사진과 같은 표가 있습니다.

https://developer.apple.com/kr/support/xcode/

 - mac os version이 xcode의 지원사양과 맞지 않으면 xcode를 설치할 수 없습니다.

 - iOS version이 xcode에서 지원하지 않으면 빌드가 불가합니다.

 

저같은 경우에는 최신 버전으로 깔면 되겠지 했는데 지원하는 iOS버전이 맞지 않아서 xcode 16 beta로 재설치 했습니다.

 

4. 애플 정품 케이블로 Mac과 iPhone 연동

다이소에서 산 케이블은 mac에서 인식되지 않았습니다. 설정 초기화하거나 재부팅 등등 다해도 안되더라구요.

고깝지만 정품 케이블 사용합시다.

 

5. XCODE에서 프로젝트 열고 기본 설정하기

아까 유니티에서 빌드한 폴더에 보시면 .xcodeproj 확장자를 사용하는 파일이 있는데 xcode로 열어주시면 됩니다.

 

Mac에서 인증서 관련해서 설정해야 합니다. 솔직히 잘 몰라서 아래 블로그 따라했습니다.

아래 링크 두가지 순차적으로 진행해주세요.

https://hsdev.tistory.com/1

https://hsdev.tistory.com/2

 

identifier id는 유니티 설정을 따라가는데, 저 같은 경우에는 애플 개발자 설정에서 사용한 id와 실제 프로젝트id가 달라서 오류가 나길래 유니티에서 identifier id 다시 설정했습니다.

(com.companyName.blahblah 같은 형식의 id말하는 겁니다. 유니티에서 플레이어 세팅에 있어요.)

 

 6. XCODE에서 빌드 해보기

빌드 시도했으나 오류가 속출했습니다.

 

Unity Framework에서만 에러가 35개 났는데 GoogleAds관련 코드가 다 인식이 안되는 오류더라구요.

오류 메시지는 undefined symbol _cgsizefrom 이런 식으로 났습니다.

 

원인은 GoogleAds 관련 SDK가 빌드에 포함되지 않아서 발생한 거였습니다.

 

설정을 건드리면 될 줄 알고 간단하게 해결하는 것만 찾아봤으나 실패해서 더 해결에 오래걸렸습니다.

제가 해결한 방법은 cocoaPods를 이용해서 GoogleAds SDK를 설치하고 프로젝트에 포함시키는 것입니다.

 

그 과정에 대해서는 아래와 같습니다. (상세한 방법 챗지피티 참고하세요.)

  1. Mac에서 터미널을 켜고 홈브류 설치
  2. 터미널에서 홈브류 사용해서 cocoaPods 설치
  3. 유니티에서 빌드한 프로젝트 폴더에서  Podfile을 열어서 pod 'Google-Mobile-Ads-SDK' 가 적혀있는지 확인
  4. 터미널에서 프로젝트 폴더로 위치를 이동하고 pos install 명령어로 SDK 설치
  5. 프로젝트 폴더에 새롭게 생긴 .scworkspace 확장자를 가진 파일을 xcode에서 열기
  6. 빌드!

추가로 iPhone에서 개발자모드 활성화 하고 재부팅도 2번정도 해줬습니다.

 

7. 앱스토어에 올릴 수 있도록 IPA (iOS App Archive) 파일 만들기

너무나 훌륭한 챗지피티 답변 첨부하니 참고하세요.

백마디 설명보다 오십마디 설명이 적힌 사진이 낫다.

 

이렇게 마무리했는데, 이 글이 유니티를 사용하는 모든 유저가 참고할 수 있기를 바랍니다.