[iOS] 'Unsupported OS Version' Trouble Shooting

1. 상황

  • 9월에 iPhone OS 15가 출시됐는데 아직 macOS Monterey 및 Xcode 13 정식 출시 안됨
  • Xcode 13 베타 버전을 사용하지 않으면 Xcode 12.5에서는 OS 15 단말을 디버깅이 불가능함

이번에 OS 15 단말을 디버깅할 일이 생겨 위 상황으로 제약이 걸렸는데 Xcode 12.5 버전으로 디버깅할 수 있는 두 가지 방법 공유드립니다.

 

2. 처음 시도

애플 디벨로퍼 사이트에서 Xcode 13을 다운받아 진행해보려고 했습니다.

다운받고 실행해보니 이런 메시지가 나왔습니다.

아마도 macOS가 Big Sur인 상태로 앱을 구동해서 그런 것 같다고 추측 중입니다.

그럼 결론은 Monterey 베타 버전을 사용해야 한다는 건데.. 그건 너무 비효율 적일 것 같아서 더 찾아보았습니다.

 

3. 디버깅 방법

3-1. Xcode 13의 DeviceSupport 심볼릭 링크 걸어주기

이 과정은 본인 Xcode 보다 상위 버전이 설치가 되어있어야 합니다.

제가 이 경우에 해당되어 이 방법으로 진행하였습니다.

 

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

우선, 해당 경로로 이동하여 현재 설치된 Xcode가 지원하는 Device OS 범위가 어디부터 어디까지인지 조회해봅니다.

 

제 Xcode(12.5)는 9~14까지 지원하는 것 같네요.

15 버전이 없기 때문에 'Unsupported OS Version'으로 인해 디버깅이 불가했습니다.

 

sudo ln -s /Applications/Xcode_13.0.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/15.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Xcode_13.0.app/.../DeviceSupport/15.0 항목을 Xcode.app/.../DeviceSupport에 심볼릭 링크를 걸어주면

하위 Xcode 버전에서 15 단말 디버깅이 가능해집니다.

 

위 작업이 완료되었다면 Xcode를 껐다 켜고, 아이폰과 연결된 선 또한 뺐다 껴주시면 완료입니다.

 

3-2. DeviceSupport 다운받아 import 하기

3-1을 보셨다면 결국 우리는 DeviceSupport 아래 해당 버전이 필요 하다는 사실을 알 수 있습니다.

 

https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport

 

GitHub - iGhibli/iOS-DeviceSupport: This repository holds the device support files for the iOS, and I will update it regularly.

This repository holds the device support files for the iOS, and I will update it regularly. - GitHub - iGhibli/iOS-DeviceSupport: This repository holds the device support files for the iOS, and I w...

github.com

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

위 사이트에서 필요한 버전을 다운로드 받은 뒤에 해당 경로 아래 파일을 넣어주면 완료입니다.