# 개요

내가 가지고 있는 테스트폰(iPhone XR)에 빌드를 했는데 에러가 발생했다.

기존에 잘 작동하고 있던 테스트폰이라서 당황했으나, 구글링을 통해 쉽게 해결하겠지라고 생각하며 구글링을 시작했다.

 

대부분의 글들은, Podfile을 삭제 후 재설치를 해보라고 하거나,

flutter clean, flutter pub get을 이용해 Flutter dependency를 다시 설치하라고 하는 글들이 대부분이었다.

결국 재설치를 위한 시간만 날리고 해결되지 않았다.

 

걔 중에는 Xcode의 버전이 낮아서 그렇다며, Xcode 업데이트를 진행하라고 하는 글도 있었는데,

결과론적으로 말하자면 해결은 될 수 있으나, 외부라이브러리와 버전이 안 맞는 등, 다른 곳에서 문제가 발생할 수 있다. 작은 것을 고치려다, 큰 위기를 맞이할 수 있으니 조심하자 😑

 

 

 

# 전환점

생각해보니, 안드로이드 테스트폰에서는 빌드가 잘 되었으니까,

Android Studio에서 보여주는 에러 메시지에 집중하는 것이 아니라,

Xcode에서는 빌드가 어떻게 진행되는지 확인해보는게 필요하겠다고 생각이 들었다.

 

ios 우클릭 > Flutter > Open iOS module in Xcode 메뉴를 이용해서 Xcode를 실행했다.

 

Xcode > Window > Devices and Simulators > Devices 메뉴를 확인해보니,

내가 연결한 테스트폰(iPhone XR)에서 다음과 같은 오류 메시지를 뱉고 있었다.

This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode

 

 

 

# 해결방법

새로운 오류메시지를 키워드로 구글링해서 결국 해결방법을 찾았다. Stackoverflow 만만세!!!

https://stackoverflow.com/a/71667372/2957534

 

"Failed to prepare device for development." with Xcode 13.2.1 and iOS 15.4 device

I'm getting message "This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You may also need to restart your mac and device in ord...

stackoverflow.com

  1. 본인의 테스트폰 OS 버전을 확인한다. 나의 경우 iOS 16.5를 사용 중이었다.
    • 확인방법: iPhone > 설정 앱 > 일반 > 정보 > iOS 버전
  2. 본인의 개발 환경에서 다음 경로를 확인해보자.
    • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  3. 1번에서 확인한 버전 명으로 폴더가 생성되어 있는지 확인한다. 나의 경우 16.1까지만 있고 16.5는 없었다.
    • ※ 여기서 본인 테스트폰의 iOS 버전명으로 폴더가 생성되어있는데도 문제가 발생한다면… 죄송하지만, 다른 방법을 찾아보시길 바랍니다 🥲
  4. https://github.com/filsv/iOSDeviceSupport에 접속해서 1번에서 확인한 버전을 다운받도록 하자.
  5. 다운받은 파일을 압축 푼 후, 2번에서 확인한 경로에 붙여넣도록 하자.
  6. Xcode를 재실행하고 빌드를 해보면 해결될 것이다.👏👏👏👏
    • ※ Xcode에서 빌드해보지 않고, Android Studio에서 바로 빌드를 하면 안 될 수도 있으니, Xcode에서 빌드가 되는지 먼저 확인해보자.