Пользователь
0,0
рейтинг
5 ноября 2015 в 14:51

Разработка → Unity Cloud Build или как собрать iOS билд на Windows из песочницы

Многие разработчики 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.
Konstantin @DragonRider
карма
6,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (7)

  • 0
    Приветствую! Опция безусловно отличная, но хотел спросить на всякий случай. Так она же вроде только для версии ПРО? Или я что то путаю?
    • 0
      Достаточно бесплатной версии
      • 0
        Действительно. Все работает. Спасибо за статью. Ждем продолжения
      • 0
        Только у меня проблема сборок именно для Андроид, так как работаю с Мак
        • 0
          Поделитесь, в чём проблема? Под маком ведь есть необходимый SDK
          • 0
            В неудобстве работы с Андроид устройствами. В том, что СДК занимает неприлично много места.
  • 0
    Крутая фича. Такой бы сервис был бы и у cocos2d-x, и ue4

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.