В данном посте рассмотрим пример интеграции Visual Studio 2017 с Mac OS, который запущен через VirtualBox. Это нам нужно для построения проекта Cordova для запуска и эмуляции под iOS. Построить и эмулировать на нативном уровне для iOS можно только имея систему Mac, поэтому у VisualStudio для этого в параметрах есть пункт настройки удаленного сервера с Mac OS, куда он отправляет исходники для построения и запускает построенное приложение в IDE XCode.
Требования к хосту Windows
Хост Windows должен иметь:
- Память не меньше 4 Гб;
- Windows OS;
- Установленный VirtualBox;
- Установленный NodeJS;
- Установленный VisualStudio;
- Установленные компоненты для VisualStudio для построения проектов Cordova;
- Включенный параметр SMB по пути в панели управления Панель управления -> Все элементы панели управления -> Программы и компоненты -> Компоненты Windows
Требования к виртуальному серверу на VirtualBox
- Виртуальный образ Mac OS для запуска через VirtualBox;
- Настройки VirtualBox могут быть любыми для комфортной работы, как на хосте, так и на виртуальном сервере, но основной параметр сетевого адаптера обязательно должен быть установлен, как «Сетевой мост», он будет отвечать за удачное соединения с сервером построения Mac OS через его IP
Требования к Mac OS
- Установленный IDE XCode;
- Установленный NodeJS;
- Установленный remotebuild
Все, по порядку
Для начала на Mac OS устанавливаем инструменты командной строки для XCode
xcode-select -–install
Устанавливаем пакеты NodeJS для удаленного построения
sudo npm install -g remotebuild
Данный пакет построения нам нужен будет для удаленного соединения и построения приложения.
Теперь нам необходимо на Mac OS запустить агент удаленного построения, чтобы потом через Visual Studio к нему подключаться. Подключиться можно 2-мя путями:
- через безопасное соединение, необходимо будет генерировать ключи доступа;
- небезопасный режим соединения через HTTP, нужен будет только IP адрес и порт запущенного процесса построения.
Мы будем использовать небезопасный режим, потому что так проще для демонстрации построения. Для соединения с VisualStudio, как уже говорилось нужен будет порт процесса построения и IP — адрес сервера.
Для установки и запуска агента удаленного запуска выполняем команду в консоли Mac
remotebuild --secure false
Котоырй выдаст нам порт. По умолчанию он равен 3000. А чтобы узнать текущий IP — адрес Mac — машины заходим в параметры и там в пункте настройки сетей копируем IP
После того, как мы запустили агент удаленного построения, узнали порт и IP — адрес Mac OS заходим в параметры настройки Cordova iOS в Visual Studio и прописываем все их туда
Должно быть, как ниже на фото
- Enable remote iOS processing — устанавливаем в True, так как мы строим приложении на через удаленный IP;
- Host — IP -адрес нашего Mac OS сервера;
- Port — порт нашего запущенного агента удаленного сервера;
- Secure mode — режим безопасного соединения устанавливаем в False, как мы раньше говорили, будем соединяться через небезопасный режим;
- Securyti PIN — пин код длябезопасного соединения. В данном случае, оставляем пустым.
Все выше перечисленные параметры у нас основные, но стоит нам запустить, как Visual Studio начнет строить приложении и к какому-то момент выдаст ошибку, что не хватает прав на чтение файлов из папки построения на удаленном Mac OS. Для решения этой проблемы у нас в данном диалоге есть еще один параметр, который называется iOS device supported folder которому надо задать значение в виде пути
\\<IPAddress>\Applications\Xcode.app\Contents\Developer\Platforms\iPhoneOS.platform\DeviceSupport
где <IPAddress> — это IP адрес вашего Mac OS сервера, все как на примере внизу.