인프런 커뮤니티 질문&답변
Firebase iOS 빌드 시 중복심볼
작성
·
40
·
수정됨
답변 2
0
안녕하세요! BurningCarrot 버닝캐럿입니다.
주말동안 리서치를 해봤는데 CocoaPods로 설치한 sdk와 SPM(Swift Package Manager)에서 설치한 sdk가 중복되어서 그런 것 같습니다. 결국 라이브러리를 CocoaPods 하나로 관리하든지 SPM 하나로 관리하든지 선택해야 하는데요. 혹시 SPM에서 firebase sdk를 전부 삭제한 후 빌드하면 어떻게 되는지 확인해 주실 수 있나요?
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김상현님.
Firebase Auth를 위한 최신 버전의 플러그인을 Unity 프로젝트에 통합한 후, 빌드시 iOS에서 중복 심볼 오류가 발생하는 경우가 있으신 듯 합니다. 이는 전형적으로 iOS 플랫폼에서 헤더 파일 또는 라이브러리를 두 번 이상 포함할 때 발생하는 문제입니다. 이러한 문제를 해결하기 위한 몇 가지 접근 방법을 제안드립니다:
해결 방법:
Xcode 프로젝트 설정 확인:
- Xcode에서 프로젝트를 열어
Build Phases섹션으로 이동하세요.Link Binary with Libraries와Copy Bundle Resources에서 동일한 라이브러리가 두 번 포함되어 있지 않은지 확인합니다. 만약 중복이 있다면 불필요한 라이브러리를 제거해야 합니다.
- Xcode에서 프로젝트를 열어
Podfile 검토:
- Unity에서 CocoaPods를 사용하여 Firebase를 관리하는 경우
Podfile을 확인하여 중복된 pod이 없는지 점검하세요. firebaseauth 등의 라이브러리가 두 번 이상 포함되면 문제가 될 수 있습니다.
- Unity에서 CocoaPods를 사용하여 Firebase를 관리하는 경우
Resolve Conflict Settings:
ExternalDependencyManager설정을 사용하여 의존성이 올바르게 해결되었는지 다시 한번 확인해보세요.Assets > Play Services Resolver > iOS Resolver > Settings에 가서 필요한 옵션을 조정한 후Force Resolve를 실행하여 의존성 문제를 해결합니다.
유니티 클래스 라이브러리 설정 확인:
- 동일한 패키지가 Unity와 Xcode 프로젝트 양쪽에 포함되어 필요 없는 중복 심볼이 생겨날 수 있습니다. Unity Editor 내에서 Firebase 패키지가 어떻게 설정되어 있는지를 다시 확인하고 불필요한 포함을 방지합니다.
- 동일한 패키지가 Unity와 Xcode 프로젝트 양쪽에 포함되어 필요 없는 중복 심볼이 생겨날 수 있습니다. Unity Editor 내에서 Firebase 패키지가 어떻게 설정되어 있는지를 다시 확인하고 불필요한 포함을 방지합니다.
해당 방법들을 통해 문제를 점검해 보신 후에도 계속 문제가 발생한다면, Firebase의 특정 버전이 Unity 및 사용 중인 다른 플러그인과의 호환성 문제일 수 있으므로 버전 로깅을 통해 조정해야 할 수 있습니다.
유사한 문제와 해결책에 관한 기존 답변은 아래 링크에서 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






현재는 10.5.0 버전으로 낮춘 상태라 확인은 힘들지만 이전 테스트 때 iOS Resolver - Settings 에서 최상단에 SPM 토글을 끄고 빌드하면 xCode에서 빌드는 되지만 iOS 환경에서 실행 시 Firebase 초기화와 Remote config나 Auth는 잘 동작하지만 Firestore 호출 시 크러시와 함께 앱이 종료됐었습니다. 이전 상태에선 워낙 많이 수정하고 테스트한 상태라 아마 다른 종속성 문제일 수 도 있는데 현재는 10.5.0 버전으로 동작을 잘 하고 있는 상태라 현재로썬 버전 업해서 테스트는 힘들것 같습니다..