Многие разработчики Unity3D использует Windows, и при сборке игры под iOS возникает много проблем и танцев с бубном вокруг виртуальных машин с OS X.
Ребята из юнити сделали нам большой шаг навстречу: они дали возможность собирать билды под различные устройства в облаке, абсолютно не обращая внимания на то, на каком устройстве мы работаем.
Логика работы следующая:
1. Проводите первоначальную настройку
2. Заливаете исходники проекта в систему контроля версий
3. Создаете специальную ветку для билда и заливаете в нее текущую версию игры
4. Облако выкачивает эту версию и производит сборку
![](https://habrastorage.org/files/092/c0c/afe/092c0cafe9b2467b9404b0ad56c6b0e9.jpg)
Вот как это делается:
Выбираем систему контроля версий, сейчас поддерживается git mercurial svn perfoce. Я перепробовал все и остановился на mercurial. Создаем репозиторий и заливаем на выбранный хостинг наши исходники. Выбор системы, создание репозитория и прочии основы работы с системы контроля версий я опущу, на Хабре достаточно статей на эту тематику.
В репозитории создаем ветку для билдов из которой Unity Cloud будет выкачивать исходники и заливаем в нее рабочую версию. Устанавливаем последнюю версию Unity3D и нажимаем кнопку с облаком, затем проходит авторизацию на облаке Unity и создаем новый проект:
![](https://habrastorage.org/files/3bc/4b6/ac1/3bc4b6ac18024cd08c7b77ff7979a8db.jpg)
Переходим в раздел Cloud Build и жмем на внешний линк:
![](https://habrastorage.org/files/81f/f3e/98d/81ff3e98d226457f8e4136ce56a1d413.jpg)
Мы попадем в веб интерфейс управления проектами, я перешел в новую бета версию:
![](https://habrastorage.org/files/76e/8f3/eb8/76e8f3eb832b4a8b8faa7ac93b79de83.jpg)
Указываем адрес нашего репозитория, его тип и пользователя для подключения:
![](https://habrastorage.org/files/a38/a6c/61b/a38a6c61b9c0433391b133e18cf70ec7.jpg)
Далее выбираем платформу под которую будет собираться билд, в нашем случае ios:
![](https://habrastorage.org/files/7c6/c8c/8bf/7c6c8c8bf97f42e089a3fd399b6d91fc.jpg)
Заполняем информацию о билде, тут важно отметить раздел Branch в нем указывается имя ветки из которой будут выкачиваться исходники для сборки.
![](https://habrastorage.org/files/7ef/411/820/7ef411820cdb48f4b78199b352606a8b.jpg)
На следующем шаге нам потребуется компьютер с OS X, нам нужно будет получить сертификат, .mobileprovision и указать Bundle ID:
![](https://habrastorage.org/files/e2f/c53/015/e2fc5301593d468b808f9a01c6b65d26.jpg)
Давайте по порядку, Bundle ID можно узнать на сайте itunesconnect.apple.com/:
![](https://habrastorage.org/files/ee9/b8b/500/ee9b8b50034f44cd927d14941ece967a.jpg)
Сертификат p12 разработчика нужно заранее создать с помощью xcode, инструкций так же предостаточно и описывать здесь я их не буду, укажу только где их скачать. Найдя машину с OS X или используя виртуальную машину с этой операционкой, нужно зайти на сайт https://developer.apple.com, далее в раздел Certificates, Identifiers & Profiles. Далее выбираем раздел сертификаты:
![](https://habrastorage.org/files/7d4/094/bb8/7d4094bb88be4a559f73bf40f882652e.jpg)
В разделе Provisioning Profiles. В разделе All скачиваем наш iOS Distribution сертификат. На OS X открываем его и добавляем в раздел login/вход:
![](https://habrastorage.org/files/f8c/468/79f/f8c46879f6214bf2a85271afd99584d0.jpg)
В приложении Keychain Access в левой колонке выбираем разделы Вход и Мои сертификаты. Выбираем наш сертификат и жмем File -> Export Items... В появившемся окне экспорта нужно удостовериться что формат выбран Personal Information Exchange (.p12). Далее Вы создадите пароль сертификату, который вы будете указывать в Unity Cloud Build при его добавлении.
Теперь создадим .mobileprovision файл. Заходим так же на портал https://developer.apple.com
нас интересует раздел iOS Provisioning Profiles, в нем нажимаем на +
![](https://habrastorage.org/files/948/112/8a8/9481128a8fbd4a758963dd4a84c0ffff.jpg)
И выбираем один из этих вариантов, один для публикации в App Store второй для тестирования на устройствах тестировщиков:
![](https://habrastorage.org/files/b48/db8/1ed/b48db81ed0534bbea77b7facb4325fb9.jpg)
Далее выбираем учетку разработчика, приложение и список устройств для тестирования, в конечном результате получаем заветную кнопку download.
Следующий шаг загрузить полученный mobileprovision и сертификат в Unity Cloud Build и указать его пароль. Если Вы все сделали правильно появится сообщение start building и в списке проектов появится запись о текущем состоянии билда:
![](https://habrastorage.org/files/4dc/ec3/f39/4dcec3f398d847bd8fbc7425da308ced.jpg)
Вот и все, по окончанию билда можно получить подробную информацию о ее ходе. В следующей статье я опишу работу с остальными облачными сервисами Unity3d.
Ребята из юнити сделали нам большой шаг навстречу: они дали возможность собирать билды под различные устройства в облаке, абсолютно не обращая внимания на то, на каком устройстве мы работаем.
Логика работы следующая:
1. Проводите первоначальную настройку
2. Заливаете исходники проекта в систему контроля версий
3. Создаете специальную ветку для билда и заливаете в нее текущую версию игры
4. Облако выкачивает эту версию и производит сборку
![](https://habrastorage.org/files/092/c0c/afe/092c0cafe9b2467b9404b0ad56c6b0e9.jpg)
Вот как это делается:
Выбираем систему контроля версий, сейчас поддерживается git mercurial svn perfoce. Я перепробовал все и остановился на mercurial. Создаем репозиторий и заливаем на выбранный хостинг наши исходники. Выбор системы, создание репозитория и прочии основы работы с системы контроля версий я опущу, на Хабре достаточно статей на эту тематику.
В репозитории создаем ветку для билдов из которой Unity Cloud будет выкачивать исходники и заливаем в нее рабочую версию. Устанавливаем последнюю версию Unity3D и нажимаем кнопку с облаком, затем проходит авторизацию на облаке Unity и создаем новый проект:
![](https://habrastorage.org/files/3bc/4b6/ac1/3bc4b6ac18024cd08c7b77ff7979a8db.jpg)
Переходим в раздел Cloud Build и жмем на внешний линк:
![](https://habrastorage.org/files/81f/f3e/98d/81ff3e98d226457f8e4136ce56a1d413.jpg)
Мы попадем в веб интерфейс управления проектами, я перешел в новую бета версию:
![](https://habrastorage.org/files/76e/8f3/eb8/76e8f3eb832b4a8b8faa7ac93b79de83.jpg)
Указываем адрес нашего репозитория, его тип и пользователя для подключения:
![](https://habrastorage.org/files/a38/a6c/61b/a38a6c61b9c0433391b133e18cf70ec7.jpg)
Далее выбираем платформу под которую будет собираться билд, в нашем случае ios:
![](https://habrastorage.org/files/7c6/c8c/8bf/7c6c8c8bf97f42e089a3fd399b6d91fc.jpg)
Заполняем информацию о билде, тут важно отметить раздел Branch в нем указывается имя ветки из которой будут выкачиваться исходники для сборки.
![](https://habrastorage.org/files/7ef/411/820/7ef411820cdb48f4b78199b352606a8b.jpg)
На следующем шаге нам потребуется компьютер с OS X, нам нужно будет получить сертификат, .mobileprovision и указать Bundle ID:
![](https://habrastorage.org/files/e2f/c53/015/e2fc5301593d468b808f9a01c6b65d26.jpg)
Давайте по порядку, Bundle ID можно узнать на сайте itunesconnect.apple.com/:
![](https://habrastorage.org/files/ee9/b8b/500/ee9b8b50034f44cd927d14941ece967a.jpg)
Сертификат p12 разработчика нужно заранее создать с помощью xcode, инструкций так же предостаточно и описывать здесь я их не буду, укажу только где их скачать. Найдя машину с OS X или используя виртуальную машину с этой операционкой, нужно зайти на сайт https://developer.apple.com, далее в раздел Certificates, Identifiers & Profiles. Далее выбираем раздел сертификаты:
![](https://habrastorage.org/files/7d4/094/bb8/7d4094bb88be4a559f73bf40f882652e.jpg)
В разделе Provisioning Profiles. В разделе All скачиваем наш iOS Distribution сертификат. На OS X открываем его и добавляем в раздел login/вход:
![](https://habrastorage.org/files/f8c/468/79f/f8c46879f6214bf2a85271afd99584d0.jpg)
В приложении Keychain Access в левой колонке выбираем разделы Вход и Мои сертификаты. Выбираем наш сертификат и жмем File -> Export Items... В появившемся окне экспорта нужно удостовериться что формат выбран Personal Information Exchange (.p12). Далее Вы создадите пароль сертификату, который вы будете указывать в Unity Cloud Build при его добавлении.
Теперь создадим .mobileprovision файл. Заходим так же на портал https://developer.apple.com
нас интересует раздел iOS Provisioning Profiles, в нем нажимаем на +
![](https://habrastorage.org/files/948/112/8a8/9481128a8fbd4a758963dd4a84c0ffff.jpg)
И выбираем один из этих вариантов, один для публикации в App Store второй для тестирования на устройствах тестировщиков:
![](https://habrastorage.org/files/b48/db8/1ed/b48db81ed0534bbea77b7facb4325fb9.jpg)
Далее выбираем учетку разработчика, приложение и список устройств для тестирования, в конечном результате получаем заветную кнопку download.
Следующий шаг загрузить полученный mobileprovision и сертификат в Unity Cloud Build и указать его пароль. Если Вы все сделали правильно появится сообщение start building и в списке проектов появится запись о текущем состоянии билда:
![](https://habrastorage.org/files/4dc/ec3/f39/4dcec3f398d847bd8fbc7425da308ced.jpg)
Вот и все, по окончанию билда можно получить подробную информацию о ее ходе. В следующей статье я опишу работу с остальными облачными сервисами Unity3d.
InstaRobot
Приветствую! Опция безусловно отличная, но хотел спросить на всякий случай. Так она же вроде только для версии ПРО? Или я что то путаю?
DragonRider
Достаточно бесплатной версии
InstaRobot
Действительно. Все работает. Спасибо за статью. Ждем продолжения
InstaRobot
Только у меня проблема сборок именно для Андроид, так как работаю с Мак
vitaly_KF
Поделитесь, в чём проблема? Под маком ведь есть необходимый SDK
InstaRobot
В неудобстве работы с Андроид устройствами. В том, что СДК занимает неприлично много места.