Рассмотрим, как мы можем компилировать приложения под iOS с помощью Mac OS из Visual Studio. Прежде всего, на машине Mac OS X должны быть установлены все необходимые инструменты для разработки под Xamrin, как описывалось в прошлой теме, и также должен быть установлен XCode. Желательно, чтобы была установлена последняя версия XCode.
Для подключения к Mac OS Visual Studio применяет SSH и компоненты Xamarion.iOS.
Допустим, нам надо скомпилировать тот же проект, что и в предыдущих темах для Windows 10 и Android. Прежде всего нам надо открыть доступ извне на самой машине под управлением Mac OS X. Для этого на Mac OS вызовем окно поиска и введем в него "Общий доступ", чтобы быстро перейти к нужным нам настройкам:
И перейдем в папку "Общий доступ". Далее в открывшихся настройках надо включить опцию "Удаленный вход":
В этом окне надо отметить IP-адрес в рамках подсети, по которому мы будем подключаться к макбуку. В моем случае 192.168.0.100. Это были все необходимые настройки для Mac OS. Теперь перейдем к Visual Studio. Перейдем к пункту меню Tools->Options и далее в открывшемся окне к пункту Xamarin->iOS Settings.
В этом окне стоит обратить внимание на поле "Remote Simulator to Windows". По умолчанию оно отмечено. Это значит, что тестируемое приложение будет запускаться на симуляторе iOS непосредственно в Windows. Если же мы уберем отметку с этого поля, то приложение будет запускаться на подключенном Mac OS.
Итак, нажмем в этом окне на кнопку "Pair to Mac". И откроется диалоговое окно "Pair to Mac" для подключения к Mac OS.
В этом окне нажмем на кнопку "Add Mac..." и появившееся небольшое окошко введем IP-адрес нашего макбука в рамках подсети. Адрес можно найти в окне общего доступа на макбуке, где устанавливается удаленный вход. В моем случае это 192.168.0.100.
После этого откроется диалоговое окно, в котором надо будет ввести аутентификационные данные для подключения к Mac OS (то есть логин и пароль пользователя на машине Mac OS):
Если вы вдруг не уверены в правильности вводимого логина, то его можно узнать на Mac OS, введя в терминал команду whoami.
При подключении Visual Studio может сообщить, что на версия Mono на MacOS и на Windows не совпадает, и предложит доустановить некоторые пакеты, чтобы привести все в соответствие. В этом случае надо все предложенные пакеты Mono, естественно, установить.
После успешного логина и подключения все окна можно закрыть. И затем мы сможем использовать удаленную машину Mac OS для компиляции приложения. Для этого назначим проект для iOS в качестве стартового. В Visual Studio мы сможем выбрать нужный симулятор iOS и запустить проект:
После этого на Mac OS запустится на симуляторе наш проект:
Стоит отметить, что несмотря на то, что мы можем запустить приложения на симуляторе непосредственно в Windows, но все равно нам необходим Mac OS для компиляции проекта. Кроме того, также стоит отметить, что не все приложения мы сможем запускать на симуляторе, в некоторых ситуациях все таки потребуется реальное устройство.