본문 바로가기
iOS/iOS이모저모

[iOS] XCode16업데이트에 따른 Fastlane isa Key 오류

by 최지철 2024. 12. 13.
반응형

 

https://github.com/fastlane/fastlane/issues/22276
Xcode16업데이트에 따른 Fastlane 스크립트 실행중, ipa key를 찾지 못하는 오류가 발생합니다. 

원인

그 이유는 Xcode 16과 xcode15 이전버전들과 폴더구조가 다르기 때문입니다.
Xcode16에서는 프로젝트 파일(project.pbxproj)에 새로운 그룹 타입인 PBXFileSystemSynchronizedRootGroup이 도입되었습니다. PBXFileSystemSynchronizedRootGroup은 파일 시스템과 동기화된 루트 그룹을 나타내며, 이전 버전의 Xcode나 일부 도구에서는 이를 인식하지 못할 수 있습니다. 



첫번째 해결방법

CI 환경에서 Xcode 16 사용 확인 및 설정

- script: |
    echo "Mac OS version:"
    sw_vers -productVersion
    echo "Installed Xcode versions:"
    ls /Applications | grep 'Xcode'
    echo "Currently selected Xcode:"
    xcrun xcode-select --print-path
    echo "Selecting Xcode 16..."
    sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer
    xcrun xcode-select --print-path
    xcodebuild -version
  displayName: 'Azure CI환경에서 Xcode 16 버전 선택'

저희 회사같은경우는 AzureDevOps를 사용중이기 때문에 Xcode16를 CI환경에서 택해주었습니다.

 

두번째 해결방법

Fastlane 스크립트 중, build_app 대신 build_iOS_app 사용

 

build_app은 xcarchive를 생성했지만 ipa로 내보내지 않습니다. 대신, build_iOS_app은 Xcode 16의 새로운 프로젝트 구조를 인식하고 처리할 수 있는 추가적인 로직이 포함되어 있을 수 있습니다.

기타..
Gym을 사용하면된다는 글도 보았지만, 전 위의2개의 방법으로 해결하였습니다. 
Gym보다는 build를 통해 빌드하는게 낫다고 판단하여 딱히 추천은 안하지만 링크는 남기겠습니다.
https://github.com/fastlane/fastlane/issues/22276

반응형