흑우마스터의 마법의 공간

M1 Mac 환경에서 Xcode 13와 Xamarin iOS 15.0 사용 시 Hot Reload 에러 문제 해결 본문

프로그래밍/Xamarin

M1 Mac 환경에서 Xcode 13와 Xamarin iOS 15.0 사용 시 Hot Reload 에러 문제 해결

흑우마스터 2021. 10. 1. 18:21

회사에서 개발하라고 맥미니를 사줬는데 Mac 환경에서 처음 하는거보니 어려움이 많았다. 제일 큰 건 최신 M1 칩을 사용하는 경우 인텔 칩셋이 아니여서 해결해야 될 문제가 상당히 많은데 이 중 Xamarin Forms 사용 시 android는 m1 용 에뮬레이터를 설치하면 된다곤 하지만 iOS는 실질적으로 hot reload가 안된다고 봐야 된다.

 

 

그렇기 때문에 Xcode 12.5.1 을 하나 더 받아서 특정 폴더에 배치한 후 비주얼스튜디오 기본 설정>프로젝트>SDK 위치> Apple SDK에 접근한 후 12.5로 경로를 우선 바꿔 준다.

 

문제는 이런다고 해서 해결되지 않는다. 왜냐면 현재 2021년 10월 1일 기준으로 Xamarin iOS가 15버전이 깔려있을텐데 해당 버전은 xcode 13과 대응 되기 때문에 Xamarin iOS 버전에 맞는 pkg를 받아서 고쳐주어야 한다.

 

12.5.1에 맞는 버전은 xamarin.ios-14.19.0.7.pkg 이며 https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-14.19.0.7.pkg 해당 링크를 클릭하면 다운로드도 가능하고 추후 버전이 다른 것을 바꾸고 싶다면 버전명의 숫자를 바꾸면 다른 버전도 쉽게 다운로드 가능하다.

 

윈도우와 달리 뭐 따로 설정해줘야 되는 것은 없고 비주얼스튜디오를 종료 한 후 pkg파일을 클릭하여 재설치 하면 해결.

 

이제 에뮬레이터를 열어보면 iOS 14.5에 해당하는 버전으로 실행이 되서 Hot reload가 가능하다. 이 망할 방법에 대해 검색도 어렵고 페북 그룹에 물어봐도 답변이 없고 카카오톡 단톡방에 물어봐도 아는 이가 없다는게 xamarin을 빨리 탈출해야 되는 이유인 것 같다.