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
'iOS > iOS이모저모' 카테고리의 다른 글
[iOS] 왜 메인스레드에서만 UI 업데이트를 할까? (0) | 2024.05.28 |
---|---|
[AppStore 배포 이슈!] ITMS-91053: Missing API declaration (1) | 2024.03.22 |
앱스토어 등록시, must be composed of one to three period-separated integers. (0) | 2023.09.26 |
[Swfit]네이버 로그인 시 에러 메시지 canOpenURL: failed for URL: "naversearchapp://" - error: "The operation couldn’t be completed. (0) | 2023.02.21 |
Xcode 단축키 모음 (0) | 2023.02.03 |