기술 자료

지원

새 Xcode 버전으로 마이그레이션한 후 발생하는 오류

Resolve errors caused by migrating to a new Xcode version.
읽는 시간 1분최근 업데이트: 한 달 전

증상

이전 버전에서 새 버전의 Xcode로 마이그레이션한 후 오류가 발생합니다. 다음 UBA/Xcode 로그의 자주 발생하는 오류 메시지와 경고는 이 문제의 증상입니다.
  • 컴파일러가 실패하고 기호를 찾을 수 없습니다.
    • ld: symbol(s) not found for architecture arm64clang: error: linker command failed with exit code 1 (use -v to see invocation)
  • iOS 배포 타겟 버전이 지원되지 않습니다.
    • warning: The iOS deployment target 'IPHONEOSDEPLOYMENTTARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.1.99
  • 서명하려면 선택되지 않은 개발팀이 필요합니다.
    • error: Signing for "gRPC-C++-gRPCCertificates-Cpp" requires a development team. Select a development team in the Signing & Capabilities editor. (in target 'gRPC-C++-gRPCCertificates-Cpp' from project 'Pods')

원인

일부 컴포넌트나 패키지, 플러그인이 새로운 버전의 Xcode와 호환되지 않는 경우, Xcode 버전을 변경할 때 이러한 오류가 종종 나타납니다.

해결 방법

첫 번째 단계에서는 로컬 캐시 라이브러리가 없는 저장소의 클린 클론을 사용하여 로컬에서 배치 모드로 빌드하고, Build Automation 타겟에서 수행하는 것 외에 추가 변경 사항을 적용하지 않고 Xcode 프로젝트를 빌드할 수 있는지 확인합니다. 로컬에서 배치 모드로 빌드를 완료한 후 로컬에서 사용하는
cocoapods
버전이 Build Automation에서 사용하는 버전과 일치하는지 확인합니다. 버전이 일치하지 않으면 다음 사전 빌드 스크립트를 사용하여 적절한 버전을 설치합니다. 다음은
cocoapods
버전 1.12.0의 예제입니다.
gem install cocoapods -v 1.12.0echo "current cocoapods version: "gem which cocoapods
‘UBA - Cocoapods 빌드 스크립트’
로컬 버전의
cocoapods
를 확인하려면 터미널에서 다음 커맨드를 사용합니다.
pod --version
특정 버전에
cocoapods
를 고정하여 모든 빌드에서 일관된 버전을 사용하도록 합니다. Unity용 외부 종속성 관리자와 같은 외부 툴을 사용하거나 직접
Dependencies.xml
파일을 편집할 수 있습니다. 이 툴에서 7.0보다 큰 버전을 사용하는
~> 7.0
등의 표현식이 아닌
7.0.0
과 같은 정확한 버전을 사용하는 경우 종속 패키지 버전이 변경되지 않고 새로운 버그가 도입되지 않도록 해야 합니다.
해당 문제가 해결되지 않았다면 지원팀이 추가 조사를 진행할 수 있도록 지원 티켓을 제출합니다. Unity Dashboard에서 티켓을 제출하려면 DevOps를 열고 Help & Support > Ticket > File a ticket을 선택합니다.

추가 리소스