프로그래밍/Unity, MAUI, Mono

[Xamarin iOS] iOS 시뮬레이터(Simulator)에서 디버깅이 안되는 현상

당근천국 2018. 5. 25. 15:30

자마린으로 프로그램을 만들다 보면 가끔 어느 순간 부터 iOS 시뮬레이터에 연결하여 디버깅하면 시뮬레이터도 올라오고 프로그램도 설치되지만 디버깅은 끊기는 현상을 격을 수 있습니다.

 

 

 

1) 

앱이 종료되었습니다.
시작에 실패했습니다. 'iPhone 8 Plus iOS 11.3'에서 '[번들 식별자]' 앱을 시작할 수 없습니다. 오류: error HE0042: Could not launch the app '[번들 식별자]' on the device '[iPhone 기종]': The request to open "[번들 식별자]" failed.. 자세한 내용은 로그를 확인하세요.
앱이 종료되었습니다.

 

2)

Launch failed. The app '[번들 식별자]' could not be launched on '[iPhone 기종]'s iPhone'. Please check the logs for more details.

 

 

 

여러 가지 원인이 있는데 대부분 기본적인 프로젝트 관리 요령입니다.

 

 

1. 자마린이 지원하는 버전과 XCode의 버전이 맞지 않는 경우

아이폰 시뮬레이터가 동작하지 않고 끊기는 현상은 보통 xcode와 호환되는 버전이 맞지 않기 때문입니다.

이런 경우 비주얼 스튜디오나 엑스코드의 버전을 특정 버전으로 맞추면 해결됩니다.

 

그러나....전 둘 다 최신 버전임에도 되지 않는 현상이 있었습니다....

 

 

2. 참조가 깨진 경우

두 번째로 많은 원인이 프로젝트나 참조가 깨진 경우입니다.

이런 경우 프로젝트를 정리(클린, clean) 한 후 다시 빌드(리빌드, rebuild)해보거나 재부팅한 후 시도해 봅시다.

 

 

그래도 안 되면 프로젝트 폴더에서 'bin', 'obj'폴더를 지우고 다시 클린과 리빌드를 해봅니다.

 

그래도 안되면 비주얼 스튜디오를 종료하고 다음 폴더를 지워줍니다.
windows : %AppData%\Local\Xamarin\MonoTouch\
mac : $HOME/Library/Caches/Xamarin/XMA

 

 

3. 프로젝트 문제

여러 가지 플러그인이나 참조로 인해 프로젝트에 문제가 생기는 경우가 있습니다.

이런 경우 프로젝트가 꼬였다는 표현을 씁니다 ㅎㅎㅎ

앵간한 문제는 여기서 해결이 될 텐데,......만약 여기서 못 찾으면 그냥 헬이라고 보시면 됩니다.

 

이 문제를 확인해 보려면 새로운 샘플프로젝트를 만들고 시뮬레이터와 연결해보는 겁니다.

만약 여기서 된다면 프로젝트가 꼬인 것이니 프로젝트를 비교하여 어떤 설정이 문제 되었는지 찾아야 합니다.

 

새 프로젝트는 된다.

새프로적트에서 잘된다면 2가지 선택사항이 생깁니다.

 

1) 두 프로젝트의 설정과 참조를 비교하여 한 요소씩 수정하면서 디버깅을 반복하여 원인을 찾는다.

2) 새로 프로젝트를 생성하고 기존코드를 모두 옮긴다.

 

 

나의 경우

결국 원인을 찾았는데 실행 모드를 백그라운드로 해놨습니다...

다시 디폴트로 바꾸니까 정상적으로 됩니다.

 

 

 

아무도 다른 옵션 건드리 다가 실수로 수정한 거 같네요.

이 프로젝트는 기본 어플리케이션이거든요 ㅎㅎㅎㅎ

 

 

4. 비주얼 스튜디오 문제

만약 3번까지 해봤는데 해결이 안 된다면 비주얼 스튜디오 자체에 문제가 있을 확률이 높습니다.

해결방법은 비주얼 스튜디오를 업데이트해봅니다.

 

이래도 안되면 재설치 가는 겁니다 ㅎㅎㅎㅎㅎ

 

 

5. 운영체제 문제

4번까지 했는데도 안되면 의심할 건 운영체제인데.....

이쯤되면 포맷하는 게 빠릅니다-_-;;;

 

 

마무리

이건 사실상 종합대책이라 비슷한 글을 몇 번 더 쓰게 될 거 같네요.

어찌 됐건 무조건 3번에서 해결해야 합니다.

보통 3번에서 문제 생겼는데 못 찾아서 뒤에 단계 해보는 경우 있는데 4번에서 해결되지 않음 거의 3번에서 문제 있는데 못 찾았을 확률이 높습니다.

이쯤 되면......정말 지옥이죠 ㅜㅡ