Как скачивать через сертификат разработчика на ios
Как работает данный метод?
Разработчик Apple на то и разработчик, что он делает приложения. И ему нужно как-то тестировать эти приложения до того, как он выложит их в AppStore. Вот разработчик и подписывает приложения, чтобы протестировать их на своем устройстве.
Таким образом, любой человек, имеющий сертификат разработчика может подписать любое приложение и установить себе на устройство. При этом данное приложение будет считаться девелоперским билдом.
Как скачивать удалённые приложения на iPhone в обход санкций без App Store. Сейчас научу
Исчезновение десятков привычных приложений в российском App Store застало врасплох многих из нас. Несмотря на то что большая часть из них не была нам нужна, пока оставалась доступна, стоило им только пропасть, как у нас тут же появлялась срочная необходимость установить их. Обходные пути, безусловно, остались. Можно было создать себе турецкий Apple ID и скачать нужное приложение из зарубежного сегмента каталога, а можно — попробовать восстановить его при использовании утилиты iMazing. Но пользоваться иностранным аккаунтом, правда, не очень удобно, а iMazing работает только в том случае, если вы уже однажды скачивали ту программу, которая вам понадобилась. Так что годится такой вариант не для всех. Но есть и другой способ, и имя ему — АльтСтор.
AltStore реально может заменить App Store. Не без оговорок, конечно, но может
Как установить AltStore на iPhone
Альтернативный способ, о котором идёт речь, позволяет скачать на iPhone удалённые приложения, вне зависимости от того, были они ранее установлены на него или нет. Таким образом можно установить практически всё что угодно. Ассортимент доступных программ и игр ограничивается — нет, не вашей фантазией, — а наличием установочных файлов для этих типов софта в открытом доступе.
Для установки удалённых приложений на Айфон используется утилита AltStore. Её называют альтернативным магазином для iOS, но собственным ассортиментом он не располагает, а используется разве что для сайдлоадинга, то бишь загрузки софта со стороны. Впрочем, всё гораздо проще, чем вы думали. Сейчас всё расскажем и покажем.
-
с сайта разработчиков (есть версии для macOS и для Windows);
- Запустите AltServer у себя на компьютере и подключите iPhone по проводу;
Активация плагина выполняется тут
- Откройте штатное приложение «Почта» и в верхней панели меню выберите «Почта» — «Настройки»;
- В открывшемся окне выберите вкладку «Основные», а там в самом низу — «Управлять плагинами»;
Если не включить этот плагин, ничего не получится
- Поставьте галочку напротив AltPlugin.mailbundle и примените изменения;
- В верхней строке меню нажмите на иконку AltServer — Install AltStore и выберите свой iPhone для установки AltStore;
Установка требует обязательного ввода логина и пароля от Apple ID
- Введите свои логин и пароль от Apple ID (это нужно для подписания сертификата, чтобы устанавливать IPA-файлы приложений);
- Теперь возьмите iPhone, откройте «Настройки» — «Конфиденциальность и безопасность» и включите «Режим разработчика»;
Режим разработчика также обязателен
- Откройте «Настройки» — «Основные» — «VPN и управление устройствами»;
- Тут нажмите на сертификат с вашим адресом Apple ID и нажмите «Доверять» и отсоедините iPhone от компьютера.
Подпишите сертификат. Он будет действовать в течение 7 дней
Как установить IPA на iPhone
После этого на ваш iPhone установится AltStore. Выше я уже говорил, что своих приложений там почти нет, если не считать пары технических программ. Но нам это и не нужно. Мы будем использовать каталог в качестве инструмента для установки, а сами приложения возьмём в другом месте. Есть несколько источников, где можно скачать IPA-файл. Но мы будем пользоваться сервисом IPSW.GURU, просто потому что там широкий выбор, и уже несколько авторов AppleInsider.ru проверили его на себе. Так что, полагаю, ему можно доверять. Так что переходим к делу.
IPA на iPhone — это установочные версии приложений для iOS, которые аналогичны по своему предназначению и свойствам APK на Android.
- Перейдите на сайт IPSW.GURU со своего iPhone;
- Найдите нужное вам приложение (я показываю на примере Clash of Clans, которого нет в российском App Store);
Важно: вы скачиваете не приложение, а установочный файл. Установит его на ваш iPhone магазин AltStore
- Перейдите в карточку этого приложения, нажмите «Скачать» и дождитесь окончания загрузки;
AltStore нужен только для установки, хотя сам он никаких приложений к загрузке не предлагает
- Запустите AltStore у себя на iPhone, откройте вкладку My Apps и нажмите «+» в левом верхнем углу;
- Авторизуйтесь в своей учётной записи Apple ID (это нужно для подписания IPA) и Загрузках выберите установочный файл приложения, который только что загрузили;
Это последний раз, когда вам потребуется войти в свой Apple ID
- Нажмите на него и дождитесь окончания установки (прогресс показывается в виде заполняющейся полосы во вкладке My Apps);
- Вернитесь на рабочий стол (или в библиотеку приложений) — там появится иконка приложения.
Где скачать IPA приложения на Айфон
На IPSW.GURU реально очень много приложений
На сайте IPSW.GURU представлено довольно много приложений. Таким образом вы можете установить на iPhone приложения Тинькофф, Сбербанк, ВТБ, Альфа-банк и многие другие. Вот лишь небольшой список того, что доступно в IPA-каталоге:
Как подписать сертификат на iOS
По факту приложений, конечно, намного больше. Просто перечислять их все действительно может занять много времени. Да и не это самое главное. Куда важнее то, что AltStore при всей своей привлекательности имеет одно серьёзное ограничение. Оно заключается в необходимости подписывать сертификат на установку приложений заново по истечении 7 дней. Делается это несложно. Но сам факт этого удобства ему определённо не добавляет.
Для этого вам потребуется просто перейти в настройки на своём iPhone, открыть вкладку «VPN и управление устройствами», затем выбрать сертификат и нажать на кнопку «Доверять», а потом подтвердить операцию. На этом всё. Ничего сложного. Но, если не выполнить данную процедуру по прошествии недели с момента предыдущего подписания, приложения, которые вы установили с помощью AltStore, перестанут работать. Поэтому для удобства поставьте себе напоминание.
Как установить веб-версию Тинькофф на Айфон
Естественно, такой способ установки приложений, которых нет в App Store, подходит не всем. Всё-таки для этого нужно установить стороннюю утилиту на компьютер, а потом ещё и доверить ей свои логин и пароль от Apple ID. Несмотря на то что это вроде как безопасно, далеко не все готовы это делать. Люди опасаются за сохранность своих данных, и это абсолютно нормально. Поэтому, если вам интересна только установка банковских приложений на iPhone, предлагаю вам альтернативный вариант.
Установить веб-приложение проще простого
Он заключается в том, чтобы не скачивать нативное приложение чёрт-те откуда, а установить веб-версию. Большинство из них выглядят и работают ровно так же, как если бы вы установили их из App Store, но при этом используют в качестве базиса для своей работы браузер Safari:
Загрузка ios приложения в appstoreconnect
Ниже будет рассмотрен процесс загрузки приложения в appstoreconnect двумя способами — ручная загрузка и загрузка с использованием механизмов CI&CD.
Создание сертификатов через сайт
Шаг 0 — Регистрируем id приложения
- Авторизуемся на сайте developer.apple.com/account под нужным аккаунтом.
- Выбираем Certificates, Identifiers & Profiles.
- В меню слева выбираем Identifiers
- Рядом с заголовком Identifiers есть кнопка “+”. Нажимаем ее
- Выбираем App IDs и переходим далее (continue)
- В поле Description вводим понятное название для приложения. В Bundle ID выбираем explicit, в поле ниже вводим id приложения (bundle identifier из XCode). Жмем продолжить. Готово
Кроме этого нужно создать приложение с этим id на сайте appstoreconnect.apple.com.
Debug
Замечание: он нужен только если нужно запустить приложение на реальном устройстве до загрузки в testflight (проверить пуш уведомления, камеру и т.д.)
Шаг 1 — Apple Development certificate
- В меню слева выбираем Certificates
- Рядом с заголовком Certificates есть кнопка “+”. Нажимаем ее
- Выбираем Apple Development и переходим далее (continue)
- Генерируем CSR файл по инструкции и загружаем его на сайт
- Жмем далее. Сохраняем файл. Готово
Шаг 2 — добавляем устройство для тестирования
Если устройство на котором планируется тестировать уже добавлено в аккаунте то переходим к шагу 3.
- В меню слева выбираем Devices. Рядом с заголовком Devices есть кнопка “+”. Нажимаем ее
Кнопка может быть неактивна. В таком случае над заголовком будет уведомлениеReset your device list before adding any new devices. Раз в год apple дает сбросить добавленные в аккаунт устройства (другого способа удалить устройство нет). Нажимаемresetи оставляем только нужные устройства. После этого кнопка “+” станет доступна - Заполняем данные об устройстве — название устройства (обычно использую имя разработчика с моделью телефона. Если это внешний аккаунт, то можно добавить название команды, например: awesomeCompany Nikita 6s. Жмем continue
Шаг 3 — provision profile
- В меню слева выбираем Profiles и нажимаем кнопку “+” рядом с заголовком
- Выбираем iOS App Development и переходим далее
- Выбираем id приложения из шага 0
- На следующем экране будет список всех development сертификатов. Проще всего выбрать все
- Добавляем устройства — так же добавляем все предложенные
- Жмем continue. Сохраняем и запускаем файл. После этого provision будет доступен для выбора в XCode
Замечание: при добавлении нового устройства или development сертификата с которым этот provision должен работать, его нужно обновить — выбрать его в списке profiles и нажать edit. Там выбрать все необходимые сертификаты и устройства
Release
Шаг 1 — Apple Distribution
Аналогично шагу 1 раздела debug, но на пункте 3 выбираем Apple Distribution. Далее аналогично
Шаг 2 — provision profile
- В меню слева выбираем Profiles и нажимаем кнопку “+” рядом с заголовком
- Выбираем App Store и переходим далее
- Выбираем id приложения из шага 0
- Из списка distribution сертификатов выбираем наш из шага 1 (в отличии от development здесь нужно выбрать только один)
- Жмем continue. Сохраняем и запускаем файл. После этого provision будет доступен для выбора в XCode
Шаг 4 — загрузка приложения
- В XCode добавляем аккаунт, под который необходимо загрузить приложение — через Preferences -> Accounts
- В меню выбора устройства/симулятора выбираем “Generic iOS Device”
- Product -> Archive. Ждем пока приложение соберется. Появится окно с новой сборкой
- Выбираем сборку и жмем Distribute App.
- Жмем далее, попутно заполняя необходимую информацию. Начнется процесс загрузки приложения
- В течение нескольких минут после успешного сообщения о загрузке приложение появится в testflight
Создание сертификатов через терминал (fastlane)
При использовании механизмов CI&CD для загрузки приложения потребуется возможность выполнять все действия выше через командную строку. Для этого будем использовать инструмент fastlane
Кроме возможности загружать приложение без участия разработчика (через механизмы CI), fastlane упрощает механизм работы с сертификатами и избавляет от необходимости давать доступ к аккаунту всем разработчикам. Первая настройка покажется достаточно объемной, но настройка следующего проекта будет значительно быстрее — достаточно скопировать папку fastlane из существующего проекта и обновить переменные, такие как app_identifier.
Замечание: все команды fastlane вызываются в папке с проектным файлом XCode.
Шаг 0 — инициализация fastlane в проекте
- В папке с проектным файлом XCode в терминале набираем fastlane init
- Выбираем пункт Manual setup и следуем инструкциям в терминале
- В файле fastlane/Appfile заполняем переменные app_identifier и apple_id. По аналогии можно добавить team_id — значение можно взять из адресной строки на сайте developer.apple.com — https://developer.apple.com/account/#/overview/ТУТ_ВАШ_ID
- Обновите файл fastlane/Fastfile следующим образом:
Сайт для генерации appspecific пароля — appleid.apple.com.
Схема приложения отображается рядом с выбором устройства на которое собрать приложение в XCode
gym — сборка приложения с указанной схемой
pilot — загрузка приложения в testflight
Шаг 1 — регистрация id приложения
В файл fastlane/Fastfile дописываем перед lane :build do
app_name должно быть уникальным, но его можно будет поменять после. app_identifier поменять нельзя.
Запускаем в терминале папке с проектным файлом:
После этого можно удалить lane prod из Fastfile.
Шаг 2 — получение provision
2.1 — настройка репозитория с сертификатами
Просто создайте пустой приватный гит репозиторий
2.2 — создание provision
Создайте fastlane/Matchfile с таким содержимым:
type — для указания дефолтного provision, чтобы не указывать его каждый раз при запросе
git_branch — удобно использовать для разных аккаунтов. Если нужно загружать приложения под разные apple id, удобно регулировать это разными ветками в одном репозитории
clone_branch_directly — оптимизация чтобы не выкачивать весь репозиторий с сертификатами
Далее в терминале вызвать:
При первом запуске для конкретного репозитория нужно будет придумать passphrase — кодовое слово для шифрования репозитория. Его нужно будет ввести на другом устройстве, чтобы установить сертификаты из репозитория
2.3 — получение provision на устройстве разработчика
В терминале по очереди вызвать:
В первый раз fastlane спросит passphrase который вводился при первом создании provision в данном репозитории.
Бонус
Сертификаты для пуш уведомлений
После нужно обновить provision profile, так как старые не настроены для пушей
Двухфакторная авторизация на CI
Генерируем куки для использования на CI через команду spaceauth
Ввести данные авторизации и код двухфакторной авторизации.
Команда предложит скопировать куки в буфер обмена. Соглашаемся.
Любым удобным способом экспортируем переменную FASTLANE_SESSION на устройстве CI (примеры для gitlab-runner):
- В скрипте выполнения на ci добавить
- указание переменных при запуске pipeline на сайте
- указать переменную в .gitlab-ci.yml (рекомендую)
Готово — в течение месяца двухфакторная авторизация не будет беспокоить.
Замечание из документации fastlane: Этот метод не подходит если ваше устройство для загрузки в testflight находится в другом регионе.
Выкладываем приложение в App Store. Даже если вы не разработчик
Ранее писали про этап подготовки к релизу. Сейчас расскажем про публикацию приложения в AppStore. Пошаговый гайд будет полезен новичкам, которые до этого не сталкивались с полицией нравов из Купертино.
Для того чтобы выложить приложение в App Store, потребуется оплаченный аккаунт разработчика, среда разработки XCode и исходный код вашего приложения. Разобьем процесс на четыре этапа:
- Настройка аккаунта
- Оформление приложения для магазина
- Настройка проекта, сборка и выгрузка
- Отправка на ревью
Настройка аккаунта
Все приложения перед выгрузкой в App Store должны быть подписаны сертификатом разработчика. Это нужно, чтобы пользователи App Store были уверены, что скачивают конкретное приложение от конкретного разработчика, а не подделку от чужого имени. Процедура подписывания (code signing) приложения позволяет операционной системе узнать, кто является разработчиком. И удостовериться в том, что приложение не было изменено с момента сборки. Точнее, с того момента, как разработчик его подписал. В этой процедуре участвуют три объекта: сертификат разработчика, AppID и Provisioning profile.
Сертификат
Сертификат представляет собой пару ключей асимметричного шифрования: приватный и публичный. В процессе сборки XCode формирует цифровую подпись для сборки на основании данных приватного ключа. Проверить подпись можно с помощью публичного ключа, который доступен и для Apple, который этот сертификат выдала.
Одного сертификата достаточно для выкладки неограниченного количества приложений.
Чтобы создать сертификат, нужно:
- Перейти на developer.apple.com, перейти в раздел «сертификаты», нажать на плюсик
- Выбрать тип сертификата Production — App Store and Ad Hoc
- Следуя приведенным инструкциям сформировать Certificate request и загрузить его на портал
Сохраните сгенерированный сертификат на компьютер, откройте его (дважды кликнув). Сертификат будет помещен в системное хранилище и доступен для XCode.
AppID
Это уникальный строковый идентификатор приложения среди всех приложений. Он нужен для однозначной идентификации во всех системах: iTunes Connect, App Store и пр. Он состоит из двух частей: TeamID и BundleID. TeamID — идентификатор разработчика, выдается Apple на этапе регистрации аккаунта разработчика и не меняется. BundleID задается разработчиком при регистрации приложения в аккаунте.
- Перейдите в раздел AppIDs (ссылка), нажмите на плюсик справа вверху
- Заполните поле App ID Description — условное наименование приложения для разработчика, не видимое в App Store, например TestApplication
- Заполните поле Explicit App ID — тот самый BundleID, например ru.myStartup.testApplication
- В разделе App Services подключите те сервисы, которые понадобились в процессе разработки приложения. Если вы не понимаете, о чем речь — оставьте как есть.
Provisioning profile
Это профиль, который однозначно связывает AppID и сертификат разработчика (публичный ключ сертификата). В случае development provisioning profile он также содержит UDID всех устройств, на которых возможен запуск приложения.
- Перейдите в раздел iOS Provisioning Profiles (ссылка), нажмите на плюсик справа вверху
- Тип профайла — App Store
- Затем необходимо указать AppID, для которого создается профайл — укажите раннее созданный AppID
- Следующий шаг — выбор сертификата. Отметьте галочкой сертификат, который мы создали ранее
- Последним шагом необходимо дать наименование профайлу, например, TestApplicationStoreProfile
Сохраните сгенерированный профайл на компьютер, откройте его, дважды кликнув. Теперь сертификат доступен для XCode.
Оформление приложения для магазина
Теперь нужно добавить приложение в iTunes Connect.
Переходим на https://itunesconnect.apple.com в раздел MyApps. Чтобы добавить приложение, нажмите плюсик слева вверху:
Заполняем открывшуюся форму:
- Указываем платформу — iOS
- Наименование приложения, будет отображаться в App Store. До 30 знаков.
- Основной язык приложения
- Выберите из выпадающего списка AppID приложения
*SKU — уникальный идентификатор для финансовых отчетов и аналитики. Можно сделать таким же как BundleID выше
Если все заполнено правильно, попадаем на страницу приложения.
На вкладке слева «Pricing and Availability» заполняем информацию о стоимости приложения в сторе. На вкладке слева с номером версии заполняем маркетинговую информацию:
- видео-превью и скриншоты для различных устройств
- ключевые слова для поиска в магазине
- описание
- возрастной рейтинг
- наименование правообладателя
- контактную информацию, на случай, если у ревьюера появятся вопросы.
О том, как подготовить маркетинговую информацию, мы рассказывали в предыдущей статье.
Также есть секция для того, чтобы можно было указать конкретную сборку, которую отправлять на ревью, а затем и в стор. Выбор недоступен до тех пор, пока мы не загрузили в iTunes Connect ни одной сборки приложения. Мы вернемся к этой секции позже:
Чтобы сохранить внесенные изменения, используйте кнопку Save наверху:
Настройка проекта, сборка и выгрузка
Откройте проект вашего приложения в XCode, перейдите к настройкам проекта. Необходимо, чтобы Bundle Identifier совпадал с BundleID, который вы указали при создании AppID. Также необходимо отключить функцию автоматического управления подписыванием в XCode. В выпадающем списке Provisioning Profile выберите тот, который недавно создали.
Обратите внимание: без всех необходимых иконок (в том числе иконка для магазина со стороной 1024 точки) сборка приложения не пройдет автоматическую проверку в iTunes Connect.
Теперь проект можно собрать и отправить в iTunes Connect. Для этого нужно нажать меню Product — Archive. По итогу сборки будет показано окно органайзера XCode, нажмите там кнопку «Upload To App Store»:
Открывается окно настроек выгрузки в App Store. Подробнее про bitcode, symbols stripping. Оставляем настройки без изменений.
На следующем шаге нужно выбрать provisioning profile из выпадающего списка подходящих:
Затем XCode подготовит архив для выгрузки в iTunes Connect. На этом экране обратите внимание на те параметры, что мы установили. Нажмите Upload.
В зависимости от скорости соединения нужно будет подождать некоторое время. Если все в порядке, XCode сообщит об успешном завершении выгрузки в iTunes Connect. Можно переходить к последнему этапу.
Отправка на ревью
В iTunes Connect на вкладке Activity можно увидеть отправленную сборку. Для проектов на Swift автоматическая проверка сборки занимает примерно полчаса. До тех пор сборка будет со статусом Processing:
После окончания проверки сборка доступна для выбора на странице информации о версии приложения:
После этого у приложения в iTunes Connect появится иконка. Сохраните изменения. Теперь можно отправить сборку на ревью.
Готово! Вы сделали все, что могли. Ждите ответа в течение нескольких дней. Не забудьте, что с 23 по 27 декабря iTunes Connect на каникулах. Разработчики не смогут обновлять и добавлять новые приложения в App Store и изменять ценники. Все остальные функции iTunes Connect будут доступны.