Pull to refresh

Unity Cloud Build или как собрать iOS билд на Windows

Reading time3 min
Views30K
Многие разработчики Unity3D использует Windows, и при сборке игры под iOS возникает много проблем и танцев с бубном вокруг виртуальных машин с OS X.

Ребята из юнити сделали нам большой шаг навстречу: они дали возможность собирать билды под различные устройства в облаке, абсолютно не обращая внимания на то, на каком устройстве мы работаем.

Логика работы следующая:

1. Проводите первоначальную настройку
2. Заливаете исходники проекта в систему контроля версий
3. Создаете специальную ветку для билда и заливаете в нее текущую версию игры
4. Облако выкачивает эту версию и производит сборку



Вот как это делается:

Выбираем систему контроля версий, сейчас поддерживается git mercurial svn perfoce. Я перепробовал все и остановился на mercurial. Создаем репозиторий и заливаем на выбранный хостинг наши исходники. Выбор системы, создание репозитория и прочии основы работы с системы контроля версий я опущу, на Хабре достаточно статей на эту тематику.

В репозитории создаем ветку для билдов из которой Unity Cloud будет выкачивать исходники и заливаем в нее рабочую версию. Устанавливаем последнюю версию Unity3D и нажимаем кнопку с облаком, затем проходит авторизацию на облаке Unity и создаем новый проект:



Переходим в раздел Cloud Build и жмем на внешний линк:



Мы попадем в веб интерфейс управления проектами, я перешел в новую бета версию:



Указываем адрес нашего репозитория, его тип и пользователя для подключения:



Далее выбираем платформу под которую будет собираться билд, в нашем случае ios:



Заполняем информацию о билде, тут важно отметить раздел Branch в нем указывается имя ветки из которой будут выкачиваться исходники для сборки.



На следующем шаге нам потребуется компьютер с OS X, нам нужно будет получить сертификат, .mobileprovision и указать Bundle ID:



Давайте по порядку, Bundle ID можно узнать на сайте itunesconnect.apple.com/:



Сертификат p12 разработчика нужно заранее создать с помощью xcode, инструкций так же предостаточно и описывать здесь я их не буду, укажу только где их скачать. Найдя машину с OS X или используя виртуальную машину с этой операционкой, нужно зайти на сайт https://developer.apple.com, далее в раздел Certificates, Identifiers & Profiles. Далее выбираем раздел сертификаты:



В разделе Provisioning Profiles. В разделе All скачиваем наш iOS Distribution сертификат. На OS X открываем его и добавляем в раздел login/вход:



В приложении Keychain Access в левой колонке выбираем разделы Вход и Мои сертификаты. Выбираем наш сертификат и жмем File -> Export Items... В появившемся окне экспорта нужно удостовериться что формат выбран Personal Information Exchange (.p12). Далее Вы создадите пароль сертификату, который вы будете указывать в Unity Cloud Build при его добавлении.

Теперь создадим .mobileprovision файл. Заходим так же на портал https://developer.apple.com
нас интересует раздел iOS Provisioning Profiles, в нем нажимаем на +



И выбираем один из этих вариантов, один для публикации в App Store второй для тестирования на устройствах тестировщиков:



Далее выбираем учетку разработчика, приложение и список устройств для тестирования, в конечном результате получаем заветную кнопку download.

Следующий шаг загрузить полученный mobileprovision и сертификат в Unity Cloud Build и указать его пароль. Если Вы все сделали правильно появится сообщение start building и в списке проектов появится запись о текущем состоянии билда:



Вот и все, по окончанию билда можно получить подробную информацию о ее ходе. В следующей статье я опишу работу с остальными облачными сервисами Unity3d.
Tags:
Hubs:
+12
Comments7

Articles