잡담

Windows에서 Xamarin.iOS Build Host에 연결이 안 될 때

Windows에서 Xamarin으로 iOS 앱을 개발하려고 할 때는 개인 또는 공용 OS X에 Xamarin Studio를 설치하고 Xamarin.iOS Build Host를 실행시켜 Windows에서 연결해줘야 합니다. 안 그러면 빌드 시 에러를 뱉거나, 빌드가 성공했어도 실행을 시도했을 때 에러가 발생합니다.

근데 이 연결 과정이 안 되는 경우가 많습니다. 여러 시나리오에 대해서 해결책을 알아봅시다.

1. Diagostics 실행 시 서버 연결부터 안 될 때

OS X쪽에 ping까지는 가는데, 서버 연결이 안 되는 경우, 일단 포트가 열려있는지 봅시다. Xamarin.iOS Build Host에서 사용하는 포트는 TCP 5000입니다.

스크린샷 2015-07-01 오후 2.40.34

위 화면처럼 launchd에서 5000번을 연 것이 아니라, 혹시 AirServer에서 5000번을 연 것으로 나와 있는 경우, AirServer를 끄고 다시 테스트합니다. [출처] Visual Studio fails to connect to Xamarin Build Host – Just Krumelur.

아예 아무런 리스트가 안 뜨는 경우, 다음 명령어를 입력하여 launchd에서 Xamarin 빌드 서버를 실행하도록 설정해준 뒤 다시 테스트합니다.

스크린샷 2015-07-01 오후 2.42.18

자, 이 상태에서 안 되는 경우, 일단 방화벽 설정을 살펴봅시다. 연결이 허용된 앱 목록에 Xamarin.iOS Build Host와 mtbserver가 없으면 일단 추가해줍시다.

스크린샷 2015-07-01 오후 2.43.48

사실 이 방법으로 성공한 경우는 한 번도 못 본게 함정. 방화벽을 꺼도 아마 동일한 문제로 연결이 안 될 겁니다.

이제 OS X에서 터미널을 열어서 텔넷으로 연결 테스트를 해봅시다. Windows에서 백날 텔넷으로 OS X쪽에 연결 시도해봤자 안 됩니다.

스크린샷 2015-07-01 오후 3.01.47

텔넷 명령어를 실행하자마자 mtbserver 방화벽 허용 메시지가 나오면 성공한거라고 보시면 될 겁니다. 안 나왔다면 원래 제대로 방화벽 허용이 된 것이므로, 다른 곳에서 원인을 찾아보셔야 합니다.

2. OS X 환경이 공유기 밑에서 동작하고 있는 경우

Xamarin.iOS Build Host를 수동으로 연결하려고 하는 경우, OS X가 사설 네트워크 환경에 있다면 포트포워딩을 해주세요. 포트포워딩은 공유기 등의 설정 화면에서 할 수 있습니다. Xamarin.iOS Build Host는 5000번 포트를 사용합니다.

광고

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.