Компиляция приложения под IOS из PhoneGup для самых маленьких, получение лицензии разраба apple для создания сертификата .p12 и .mobileprovision
/* Превью
4 сертификата круга ада и 1 ключ.
Краткая инструкция после 10 часов страданий о том, как получить сертификат разраба Apple и закомпилить приложуху под IOS через PhoneGap имея Windows и Iphone
*/
%USER_NAME%, сейчас я опишу свой нелёгкий путь, как я получил лицензию разработчика аппле и скомпилил прогу через пхонегап под йос, если ты пытаешься сделать тоже самое, в этом деле не обойтись без бубнов, заклинаний, свечей, пентограмм, тащите всё что у вас есть к компу.. Начинаем с подбора подходящей музыки..
Отлично, поехали...
Всё делать я буду под виндой, из техники яблочного у меня только дешманский китайский айфонец 5си
Получение лицензии для IOS или создание аккаунта разработчика
Для лицензии понадобится
- Устройство Apple для двухфакторной аутентификации
- Минимум 99$ в год
Регистрации и настройки
Для начала регистрируемся в Apple и создаём Apple id
Связываем Apple id с устройством и настраиваем двухфакторную аутентификацию
Лицензия разраба
Перешарив кучу статей и историй про бесплатные лицензии на 7 дней и тд. я понял что получить его можно только платно.
Есть 2 основных типа лицензий
- За 99$ Developer, для физ лица в год, где можно добавлять приложухи в апп стор, но без апп стора нужно добавлять каждое устройство на котором будет тестироваться приложуха по их UDID, максималка 100 устройств.
- За 299$, Enterprise, не нужно добавлять каждое устройство но и в аппстор нельзя добавлять приложуху. Пишут что распространять приложуху под такой лицухой можно только внутри компании, иначе отберут эту самую лицензиюю. И похоже регать как организацию а не физ лицо, для организаций там ещё нужно доплатить чтобы зарегистрировать компанию в доп сервисе эйпла, тоесть получить D-U-N-S номер, который по не которым данным стоит около 12000р разово.
- На самом деле там нихера не понятно, все пишут по разному, на офф сайте внятную инфу не найти но подробнее об этом писал чел тут тут инфа на офф сайте
Вернёмся к делу, имея айфон, apple id и настроив двухфакторную аутентификацию переходим к следующему этапу, покупка, идём на developer.apple.com, жамкаем на "Join the Apple Developer Program" внизу, проматываем долгую презентацию нажимая всамом низу далее, далее, далее пока не появится кнопка "Start Your Enrollment"
Процесс получения платной лицензии можно почитать в этой статейке
При оплате важно чтобы инфа об аккаунте совпадала с той с которой будет оплата, иначе денежки не вернут и ничего не получится. Через дня 3-4 после оплаты придёт ссылка что всё ок, можно пользоватся, переходя по ссылке у меня было сообщение типа не то время указано, я просто перешёл по ссылке на страницу аккаунта и ошибка пропала, всё работает :D
Теперь можно создавать сертификаты .p12 и .mobileprovision для компиляции в PhoneGap
Создание сертификатов .p12 и .mobileprovision
Создание лицензии CSR (Certificate signing request)
Для того чтобы получить лицензии от Apple нужно дать ему лицензию CSR) хех..
Как её создать написано в инструкции на офф сайте phonegap, вот только не всё там очевидно( учитывая что я создавал её на Windows, а для винды порядок у меня получился такой.
- Качаем OpenSSL отседава и устанавливаем
- Открываем консоль под админом и идём по адресу куда был установлен OpenSSL, по дефолту это C:\Program Files\OpenSSL-Win64\bin
- Создаём секретный ключ командой
openssl genrsa -out ios_distribution.key 2048
- Из ключа генерим CSR, кодом
После ввода кода консоль задаст пару вопросов, типа название компании, мыло и тд. Консоль пока не закрываем.openssl req -new -key ios_distribution.key -out ios_distribution.CSR
- Идём в личный кабинет разработчика apple тыкаем в меню по Certificates и создаём сертификат (iOS App Development), он попросит сертификат, даём ему созданный CSR, после чего он нам даёт на скачивание файл .cer далее именуемый как applegovno.cer, закидываем его в папку bin что в папке OpenSSL
- Потом переходим в меню Identifiers, создаём там App IDs, из предложенных приколюх я выбрал Custom Network Protocol и Network Extensions, он ещё навязал какие то свои.
- Самое интересное, пункт меню Devices, добавляем устройства на которых будем тестировать приложуху, и тут самый сок в том что нужно ввести 40 символьный UDID устройства, уникальный идентификатор так сказать, не сирийник ни чего такого, этого UDID фиг наёдешь, в телефоне он не отображается, в интернетах навалом всякого говна типо приложений которое его показывают, сервисов типа укажи почту, подтверди и установи какое то окружение на телефон, это всё не работает, как я понял работает способ с подключением по iTunes, там открываешь инфу про телефон и кликаешь по сирийнику, вместо него открывается UDID, но у меня ни каким образом телефон не подключаелся к iTunes под виндой, но я нашёл способ)
- в диспетчере устройств, находим устройства USB
- там открываем Apple Mobile Device USB Device
- во вкладке Сведенья выбираем свойство родитель
- там после всякого шлака типа USB\VID_05AC&PID_12A8\ после последнего обратного слеша и будет UDID!
- Потом идём в меню Profiles, создаём там профиль iOS App Development, выбираем всё ранее созданное, на выходе получаем .mobileprovision
- Теперь нам нужно получить сертификат .pem, из сертификата который нам вернул эйпл, applegovno.cer, возвращаемся в консоль, пишем
openssl x509 -in applegovno.cer -inform DER -out applegovno.pem -outform PEM
- Берём только что созданный сертификат .pem и объединяем его силу с силой созданного в самом начале ключа .key консольным заклинанием
Далее %USER_NAME%, тебя попросят придумать и ввести пароль, вводимые символы не видно, вводить их надо вручную, пароль нам ещё пригодится при компиляции в PhoneGap.openssl pkcs12 -export -inkey ios_distribution.key -in applegovno.pem -out applegovno.p12
Компиляция приложения в .ipa
Гром загремел? Всё потемнело? Это потому что у тебя теперь есть супер сильный сертификат applegovno.p12, объединивший в себе сили горсти сертификатов, и слёз программистов, к тому же .mobileprovision у тебя тоже есть, эти 2 файла и нужны компилятору phonegap от Adobe, иди же, %USER_NAME%! Примени силу applegovno.p12, .mobileprovision и не забудь активировать их силу введя пароль.
Если ничего не получилось, есть ещё инструкция в херовом переводе тут
Запуск на айфонах
Скомпилированный .ipa мы то получили, закидываем на айфонец, запускаем, и видим что не запускается) хехе, продолжаем.. хех ):
Пакет .ipa можно установить на айфон через iTunes, для чего собственно нужен мак бук, или чтобы сраный айфон определялся в iTunes под виндой, у меня нет ни того ни другого, ещё способ это дополнительные приложения, через которые можно устанавливать различный пиратский софт на айфонах, про них можно почитать тут но я же не фотошоп какой нибудь делаю, как думаю и ты, %USER_NAME%, поэтому ищем другие пути..
TestFlight - Специальный сервис для тестировки приложений, вот только чтобы тестировать приложение нужно установить это приложение на айфон, что не лучше способа установки через другие сервисы. Так ещё и судя по описаниям, нужен мак бук и исходных Xcode, откуда он ёпта, у меня тут хтмл и кээсэс.
Размещение в AppStore - для чего опять же нужен X-Code и всратый мак-бук, в теории... А кроме того нужно пройти одобрение эйплом, какого фига? Сначала бы просто протестировать..
Самый подходящий вариант который я нашёл это скачивание по ссылке, нужно создать файл конфигураций формата .plist и направить на него волшебную ссылку.
Для формирования этого .plist есть сервис diawi.com в него запихиваешь .ipa он его разпарсивает и каким то хером достаёт из ipa инфу о лицензии, названии компании и тд. даёт ссылку на скачивание. Воспользовавшись инструментами разработчика можно симулировать айфон и посмотреть в ссылке адрес получившегося .plist и стырить. Но звучит это не особо безопасно) по этому вот пример этого файла
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>[ Ссыль на .ipa | https://applegovno.ru/ipa.ipa ]</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>[ ссыль на иконку, которая показывается во время установки | https://applegovno.ru/icon.png ]</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>[ bundle-identifier или Bundle ID из раздела Identifiers с сайта developer.apple ]</string>
<key>bundle-version</key>
<string>1.1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>[ Название приложения, из build.phonegap нарпимер ]</string>
</dict>
</dict>
</array>
</dict>
</plist>
Отлично, закидываем этот файл на серв или сайт, обязательно должно быть подключение по HTTPS, если нет сайта или серва, в сети есть инструкции как закинуть в DropBox и получить прямую ссылку.
Теперь ставим ссылку на этот .plist для скачивания
<a href="itms-services://?action=download-manifest&url=[ ссыль на .ipa | https://applegovno.ru/ipa.ipa ]">
Установить чудо приложение на всратый яблойд
</a>
Яхоу! Качается блеать!
АПД:
06.12.2019 04:58:00
06.12.2019 05:10:02
Ещё один древний артефакт, про лицензии и платформы, кратко описывает то что надо знать перед началом разработки
Комментарии ()
Написать комментарий