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
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
위 사이트에서 필요한 버전을 다운로드 받은 뒤에 해당 경로 아래 파일을 넣어주면 완료입니다.