[Xcode] cannot be opened because it is in a future Xcode project file format.

Chae-young Park·2023년 6월 22일

다른 사람의 프로젝트 파일을 다운받아서 Xcode로 열려고 했더니 다음과 같은 에러가 발생했다.

현재 내 맥북의 macOS 버전이 Monterey인데 저장 공간 부족으로 Ventura로 업데이트를 못하고 있는 상황이라 덩달아 Xcode의 버전도 13.3에서 더이상 업데이트가 안 되고 있다. 따라서 상위 버전의 Xcode에서 작업한 파일은 13.3 버전의 현재 Xcode와는 포맷 호환이 안된다는 오류 메시지였다.

리팩토링하고 싶은 내용이 있어서 프로젝트를 열 방법을 찾아보던 중 발견한 해결책을 짧게 정리해두고자 한다.

우선 Finder에서 .xcodeproj 확장자를 가진 파일 위에 오른쪽 마우스를 눌러 패키지 내용 보기 를 누르면 다음과 같이 세 개의 파일을 볼 수 있다. 이 중에서 .pbxproj 파일을 열어서 몇 가지를 수정해주면 된다.

Xcode 최소 요구 사항 및 지원되는 SDK를 참고하여 몇 가지 버전들을 다운그레이드 해주면 되는데

  • objectVersion

    • '56' 으로 설정되어 있던 값을 '55' 로 바꾸어 주었더니 프로젝트가 정상적으로 열렸다.
    • 프로젝트를 여는 데는 objectVersion 만 바꾸어 주어도 문제가 없는 듯 하다.
  • LastSwiftUpdateCheck, LastUpgradeCheck

    • Xcode 14.3 버전은 현재 기준 Swift 5.8까지 지원하지만 Xcode 13.3 버전의 경우, Swift 5.6까지만 지원한다. 따라서 LastSwiftUpdateCheck'1430' 에서 '1330' 으로 바꾸어 주었다.
    • 마찬가지로 Xcode 14.3 버전은 iOS 17까지 지원하지만 13.3 버전의 경우, iOS 15.4까지만 지원하므로 LastUpgradeCheck 역시 '1330' 으로 다운그레이드하였다.
  • compatibilityVersion

    • 호환 버전을 의미하는 듯하여 'Xcode 14.0''Xcode 13.0' 으로 바꾸어 주었다.
  • IPHONEOS_DEPLOYMENT_TARGET

    • Xcode 13.3 버전은 배포 대상이 iOS 9부터 iOS 15.4까지이므로 '16.4' 로 설정되어 있던 값을 '15.4' 로 바꾸어 주었는데 배포를 하지 않는 경우에는 굳이 안 바꿔도 되지 않을까 싶다.

파일을 열어서 이것저것 바꾸어 주는 것은 어렵지 않았지만 매번 이렇게 수정해야 한다고 생각하니 새 맥북이 간절해졌다. 요즘 디스코드랑 Xcode 같이 실행하면 자꾸 맥북이 죽는데 인텔 맥을 언제까지 써야할지... 파일 포맷 호환 문제를 해결하는 최고의 해결책은 새 맥북이라고 생각된다 ㅋㅋ

profile
iOS developer

0개의 댓글