Вторник, 24 октября 2017 12:18

Unity3D публикация приложений для iOS (iPad, iPhone) -

Автор
Оцените материал
(6 голосов)

Добрый день, друзья.

С Unity3D я уже работаю достаточно продолжительное время. Можно долго рассказывать про его плюсы, но этого и без меня на просторах достаточно. Основная фишка - это кроссплатформенность. С его помощью можно быстро и эффективно разрабатывать игровые приложения для различных платформ.
Имея опыт сборки проектов для Android и Windows я не ожидал столько всего интересного от сборки под устройства Apple.
А там полностью своя экосистема со своей логикой, и людям никогда до этого с этим не сталкивающимся, будет вначале сложно.
Вы не сможете просто собрать пакет и отправить его пользователю для установки. Все это делается с помощью сервисов. Раньше был отдельный сервис TestFlight, теперь, после покупки его компанией Apple, он встроен в itunesconnect.
Так же хочу отметить, что у Unity есть интересный сервис Unity Cloud Build с помощью которого можно не имея MacOS собрать пакет. Но у меня он выдавал кучу непонятных ошибок, поэтому я пошел стандартным путем разработчика под iOS.

 

В общем хватит лирики, ближе к делу.

Что нам понадобиться:

1) Учетная запись AppleID зарегистрированная на developer.apple.com и купленной iOS Developer Program (99$ за год)
2) Макинтош (да-да, собрать можно только под маком) или Хакинтош (MacOS на виртуальной машине например VirtualBox) - я пошел вторым путем, ибо ради одного проекта покупать мак за 2,5 штуки баксов меня не воодушевляло
3) Установленные на маке Unity3D и XCode.
4) Готовый проект, который вы планируете выпустить для iOS

Итак, у вас есть готовый рабочий проект, который Вам нужно собрать для iPhone или iPad.

Опишу сразу основные шаги:
1) Получаем и устанавливаем сертификат
2) Собираем проект Unity для XCode, установленном на маке.
3) Открываем собранный проект в XCode и формируем архив программы (ipa).
4) Через Organizer XCode выкладываем в AppStore
5) Рассылаем тестировщикам (клиентам) приложение

 

1) Получение сертификата

Происходит на MacOS.

О том, что такое сертификаты и какими они бывают можно почитать здесь 

Для начала генерируем частный ключ (Private Key) на Маке в программе Связка Ключей (Keychain Access)

Открываем ее в Utilites
В меню программы выбираем Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority

 

В поле информации о сертификате вводим Email, Common Name field (имя Вашего частного ключа)
CA Email Addres - оставляем пустым
В группе "Request is" выбираем "Сохранить на диск"

Скачиваем CSR файл

Затем заходим на https://developer.apple.com
Выбираем пункт меню "Certificates, IDs & Profiles"

 


Далее выбираем раздел сертификаты "Certificates"
Нажимаем добавить

В группе Development ставим радиобаттон на iOS App Development (Sign development versions of your iOS app.)


Continue
Следуем инструкциям, загружаем на сайт свой CSR файл
Сертификат создан.

Скачиваем его и устанавливаем двойным щелчком мыши.

Проверяем в программе Связка Ключей (Keychain Access), что сертификат корректно установился под вашим частным ключом. Что то типа: iPhone Distribution: My Company.

Далее переходим в Identifiers / App IDs

Нажимаем + и создаем новое приложение.
Называем его, например: "MyAppName"
Под App Id suffix, выбираем Wildcard App ID, и ставим * (звездочку)
Нажимаем Continue

Идем Provisioning Profiles / Distribution


Нажимаем + и создаем Provisioning Profile
Выбираем Distribution / App Store (Create a distribution provisioning profile to submit your app to the App Store)


Continue
Дальше нужно выбрать App ID, выбирайте только что созданный MyAppName и нажимайте Continue.
Задайте имя профиля Profile Name, например MyCompanyAppStore и нажмите generate.
Скачайте новый mobileprovision файл, и сохраните на компьютер. Он понадобится для загрузки позже, с файлом p12 который сформируем далее.

Теперь нам нужно экспортировать файл только что созданный Distribution Certificate и private key в единый файл .p12 который используется для подписи приложений.

Запустите Keychain Access.
Выберите Вход в верхней-левой панели
Выберите “My Certificates” из меню “Category”
Найдите Ваш сертификат iPhone Distribution Certificate с названием, которое Вы задали: iPhone Distribution: My Company. Не выбирайте iPhone Developer: My Company - он не будет работать!
Разверните строку, внутри увидите Ваш Private Key. С названием Имя Фамилия.


Удерживая CMD-key выберите оба пункта (ключ и сертификат)
Нажмите правую кнопку мыши, и в выпадающем меню нажмите Export 2 items.
Сохраните ключ, назовите "Certificates.p12"

Введите пароль на сертификат.

2) Собираем проект Unity для XCode, установленном на маке.

Переносим файлы проекта Unity3D на Мак.
В Unity на маке выбираем платформу iOS.
Билдим в папку.

3) Открываем собранный проект в XCode и формируем архив программы (ipa).

Открываем папку собранного проекта в XCode.

Переходим в папку images.xcassets

и добавляем картинку (на данный момент эта ошибка при сборке Unity3D - должны устранить в будущем)


Архивируем проект Product->Archive.

 

4) Через Organizer XCode выкладываем в AppStore

Открывается Органайзер (если вдруг закрыли окно - открыть его можно через меню Window-Organizer)

Далее нужно сделать validate и потом Upload to appstore

После загрузки надо подождать примерно пол часа - час, чтобы билд появился в списке в itunesconnect https://itunesconnect.apple.com/ Мои приложения - Заходим в приложение - Закладка "TestFlight" - видим загруженные сборки и состояние их проверки

На той же вкладке переходим в "Пользователи iTunes Connect" и добавляем тестировщиков (людям придет оповещение на их email, они в свою очередь должны его принять)

Если до конца для билд не появится в списке увеличить номер build на один в XCode и загрузить заново - есть такая проблема в itunes когда билды зависают на обработке.

5) Рассылаем тестировщикам (клиентам) приложение

После того как у приложения загорится зеленый кружок в столбце "Пользователи iTunes Connect", заходим в нашу версию приложения и назначаем добавленных ранее тестировщиков.

 Тестировщиком придет еще одно приглашение, с приглашением принять участие в тестировании приложения.

При переходе по ссылке из письма-приглашения, на устройство клиента устанавливается TestFlight (если оно еще не стояло) и в этом приложении появляется ваша программа. Оттуда ее можно установить и использовать.

 

На этом все.
Если обнаружите какие-то ошибки или неточности в описании, пишите в комментарии буду исправлять и дорабатывать.
Успешных Вам сборок!

Прочитано 39174 раз
Добавить комментарий