В общем хватит лирики, ближе к делу.
Что нам понадобиться:
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 (если оно еще не стояло) и в этом приложении появляется ваша программа. Оттуда ее можно установить и использовать.
На этом все.
Если обнаружите какие-то ошибки или неточности в описании, пишите в комментарии буду исправлять и дорабатывать.
Успешных Вам сборок!