Как создать ipa файл в xcode

Обновлено: 02.07.2024

нужно создать .ipa файл для распространения Ad-Hoc. Клиент предоставил только сертификаты, закрытые ключи и профили подготовки, которых было достаточно для создания .ipa до Xcode 5. Но в Xcode 6.1, когда я экспортирую как Save For Ad Hoc Deployment дает

enter image description here
enter image description here

есть ли способ создания .ipa без учетных данных учетной записи разработчика?

наконец-то нашел способ создания .ipa построить с xcodebuild.

  1. Правой Кнопкой Мыши на Archive на организатора.
  2. клик Show in Finder .

enter image description here

вы можете ознакомиться .xcarchive файл в Finder.

открыть Terminal и cd to .xcarchive путь.

это сэкономит .ipa на Рабочий стол.

все еще ищет лучшее решение, не знаю, почему Apple удалила эту функцию из Xcode 6 : (

здесь 3 способы создать .ИПА без Команда И Учетная Запись Разработчика Apple.

1. Быстрый И Лучший

(работает на всех Xcode, все Mac OS, в комплекте пакет может быть использован для OTA ссылки, как Diawi)

  1. просто построить (Command+B) ваше приложение из XCode, установив правильные идентификаторы подписи кода
  2. С XCode's поиск файлов на левом внизу, поиск .app (это будет в каталоге продукта)
  3. щелкните правой кнопкой мыши на этом и выберите показать в Finder
  4. Теперь создайте каталог и назовите его как полезная нагрузка, копией .app в каталог полезной нагрузки.
  5. Архивация/Сжатие(.zip) этот каталог полезной нагрузки, переименуйте расширение файла .zip to .ИПА

2. Извлекать.ipa с организатор

(работает на всех Xcode, все Mac OS)

  1. Создать Архив
  2. перейдите к организатору
  3. получить местоположение архива по Щелкните Правой Кнопкой Мыши и выберите показать в Finder

enter image description here

    теперь щелкните правой кнопкой мыши на этом .xcarchive файл и выберите Показать Пакет Содержание

на пути Products > Applications > YourAppFile

откройте iTunes на Mac и перетащите это YourAppFile сверху путь в приложения tab. (Примечание: удалите предыдущее приложение с тем же идентификатором, если таковые имеются)

теперь щелкните правой кнопкой мыши на вашем приложении в разделе приложения вкладка iTunes и выберите показать в Finder, это ваше .файл .

3. Для разработчиков, имеющих Xcode 5.x

(Примечание: Xcode 5.x не работает на El Capitan, таким образом, вы можете архивировать с помощью любого Xcode, но вам понадобится Xcode 5.X для создания .ipa)

  1. Создать архив, используя любую версию Xcode.
  2. Закрыть Xcode.
  3. перейдите в окно органайзера Xcode 5.X и на вкладке архив выберите архив.
  4. в правом верхнем углу выберите Export , нажмите переключатель с названием Save for Ad Hoc Deployment
  5. клик Next и выберите нужные идентификаторы подписи кода для сохранения .ИПА

вы также можете создать файл IPA с помощью Xcode 6 & latest выполните следующие действия:

  1. создать файл сборки проекта Command+B
  2. перейдите в папку продуктов , и он покажет файл приложения Правой Кнопкой Мыши "показать в Finder".
  3. создайте пустую папку и назовите ее "полезной нагрузкой", затем скопируйте файл приложения в эту папку.
  4. архив полезной папку и переименовать файл zip YourApp.ipa

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

Выберите "Сохранить Для Специального Развертывания" И Нажмите Кнопку Далее. Затем откройте раскрывающийся список "выберите команду разработчиков". В нижней части будет опция "использовать местные певческие активы". Выберите этот параметр и нажмите кнопку Выбрать.

вот. Сборка будет создана Xcode без учетной записи Apple ID.

другое решение-использовать Xcode 5.1.

С некоторого времени (например, Swift & Xcode7), когда вы должны сделать Формулу сборки более сложной-xcodebuild требует параметра exportOptionsPlist:

В этой статье Максим Шестаков, DevOps Engineer в студии Plarium Krasnodar, делится опытом сборки и доставки пользователям приложений для iOS, который накопился в процессе отладки CI/CD.


Подготовка

Каждый человек, так или иначе связанный с разработкой приложений для устройств Apple, уже успел оценить спорное удобство инфраструктуры. Сложности встречаются повсюду: начиная с меню профиля разработчика и заканчивая инструментами отладки и сборки.

Статей об «азах» предостаточно в сети, поэтому постараемся выделить главное. Вот что нужно для успешной сборки приложения:

    ;
  • устройство на базе macOS, выступающее в роли билд-сервера;
  • сгенерированный сертификат разработчика, который будет далее использоваться для подписи приложения;
  • созданное приложение с уникальным ID (следует отметить важность Bundle Identifier, потому что применение wildcard ID делает невозможным использование многих функций приложения, например: Associated Domains, Push Notifications, Apple Sign In и прочих); подписи приложения.

Основные типы профилей:

  • Development — предназначен для подписи приложения команды разработчиков, используется Development-сертификат (имя вида iPhone Developer: XXXXX);
  • Ad Hoc — предназначен для подписи тестового приложения и внутренней проверки QA-отделом, используется Distribution-сертификат разработчика (имя вида iPhone Distribution: XXXXX);
  • App Store — релизный билд для внешнего тестирования через TestFlight и выгрузки в App Store, используется Distribution-сертификат разработчика.

Для наглядности можно представить профиль разработчика в виде таблички ниже. Так проще понять, какие параметры для сборки нам нужны и откуда их брать.


Сборка

Чтобы было проще разделять сборки по проекту и среде, используем имена профилей вида $_$ , то есть имя проекта + инстанс (зависит от среды приложения: Dev, QA, GD, Staging, Live и так далее).

При импорте на билд-сервер профиль меняет название на уникальный ID и перемещается в папку /Users/$Username/Library/MobileDevice/Provisioning Profiles (где $Username соответствует имени учетной записи пользователя билд-сервера).

Существует два способа сборки файла *.ipa — устаревший (PackageApplication) и современный (через создание XcAchive и экспорт). Первый способ считается устаревшим, так как с версии 8.3 модуль упаковки app-файла убран из дистрибутива Xcode. Для его использования надо скопировать модуль из старого Xcode (версии 8.2 и более ранних) в папку:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/

И затем выполнить команду:


Далее нужно собрать *.app-файл приложения:

-workspace — путь к файлу проекта.

-scheme — используемая схема, указанная в проекте.

-derivedDataPath — путь выгрузки собранного приложения (*.app).

CODE_SIGN_IDENTITY — имя аккаунта разработчика, которое можно проверить в Keychain (iPhone Developer: XXXX XXXXXXX, без TeamID в скобках).


PROVISIONING_PROFILE — ID профиля для подписи приложения, который можно получить командой:


Если в приложении используется дополнительный профиль (например, для Push Notifications), то вместо PROVISIONING_PROFILE указываем:


Далее полученный файл *.app следует упаковать в *.ipa. Для этого можно использовать команду вида:


Однако данный способ считается устаревшим с точки зрения Apple. Актуальным является получение *.ipa путем экспорта из архива приложения.

Для начала нужно собрать архив командой:


Отличия заключаются в методе сборки и опции SYNCHRONOUS_SYMBOL_PROCESSING , которая отключает выгрузку символов во время сборки.

Далее нам надо сгенерировать файл с настройками экспорта:

$Method — метод доставки, соответствует типу профиля подписи приложения, то есть для Development значение будет development, для Ad Hoc — ad-hoc, а для App Store — app-store.

$BundleID — ID приложения, который указан в настройках приложения. Проверить можно командой:


$DevAccName и $ProfileId — настройки имени разработчика и ID профиля подписи, которые использовались ранее и должны совпадать со значениями в настройках экспорта.

$TeamID — десятизначный ID в скобках после имени разработчика, пример: iPhone Developer: …… (XXXXXXXXXX); можно проверить в Keychain.

Далее с помощью команды экспорта получаем необходимый файл *.ipa:

Доставка

Теперь собранный файл нужно доставить конечному пользователю, то есть установить на устройство.

Для распространения билдов Development и Ad Hoc существует множество сервисов вроде HockeyApp, AppBlade и прочих, однако в рамках данной статьи речь пойдет об автономном сервере для раздачи приложений.

Установка приложения для iOS проходит в 2 этапа:


Как видим, манифест содержит практически все параметры, участвующие в сборке приложения.

Версию приложения ( $AppVersion ) можно проверить командой:


Таким образом, для установки приложения достаточно простой html-страницы со ссылкой вида:


Для нужд отделов разработки и тестирования компания Plarium создала свое приложение установки билдов, которое дает нам:

  • автономность и независимость,
  • централизацию управления доступом и безопасную установку приложений через «временные», динамически создаваемые ссылки,
  • расширяемый функционал (то есть команда разработки при необходимости может интегрировать недостающие функции в уже существующее приложение).

Тестирование

Теперь речь пойдет о предрелизном тестировании приложения с помощью TestFlight.

Обязательными условиями для загрузки являются тип профиля подписи App Store и наличие сгенерированных API-ключей.

Есть несколько способов загрузки приложения:

  • через Xcode (Organizer),
  • через altool,
  • через Application Loader для старых версий Xcode (теперь Transporter).

Для получения API Key переходим по ссылке и генерируем ключ. Кроме самого ключа в формате *.p8, нам понадобятся два параметра: IssuerID и KeyID.


Далее скачанный ключ импортируем на билд-сервер:


Перед загрузкой приложения в TestFlight нужно выполнить валидацию приложения, делаем это командой:


Где apiKey и apiIssuer имеют значения полей со страницы генерации API-ключа.

Далее при успешной валидации выполняем загрузку приложения командой --upload-app c теми же параметрами.

Приложение будет проверено Apple в течение одного-двух дней и после станет доступным внешним тестировщикам: им пришлют на почту ссылки для установки.

Другим способом загрузки приложения через altool является использование App-Specific Password.

Для получения App-Specific Password нужно перейти по ссылке и сгенерировать его в разделе Security.


Далее следует создать в Keychain запись билд-сервера с этим паролем. С 11 версии Xcode это можно сделать командой:

$DeveloperName — имя аккаунта iOS-разработчика, используемое для логина в сервисы Apple.

$AppPswd — сгенерированный App-Specific Password.

Далее получаем значение параметра asc-provider и проверяем успешность импорта пароля командой:


Как видим, искомое значение Short Name (asc-provider) совпадает с параметром $TeamID, который мы использовали при сборке приложения.

Для валидации и загрузки приложения в TestFlight применяем команду:


В качестве значение параметра -p можно взять значение $AppPswd в незашифрованном (явном) виде.

Однако, как уже было сказано, с точки зрения работоспособности для авторизации altool лучше выбрать API Key, так как в разных версиях Xcode встречаются те или иные проблемы («не видит» Keychain, ошибки авторизации при выгрузке и прочее).

На этом, собственно, все. Желаю всем причастным успешных сборок и беспроблемных релизов в App Store.

Скажите, пожалуйста, полную процедуру для создания моего приложения и его использования на реальном iPhone.

В версии 10.0 XCode

  1. Перейти в окно → органайзер
  2. Затем выберите архив вашего приложения из архивов
  3. Затем нажмите кнопку "Распространить приложение" на правой панели.

enter image description here

Шаг 1

enter image description here

Шаг 2

enter image description here

Шаг 3

enter image description here

Шаг 4

enter image description here

Шаг 5

enter image description here

Шаг 6: Наконец, выберите место, куда вы хотите сохранить файл .ipa

enter image description here

В версии Xcode 9.2

  1. Перейти в окно-> органайзер
  2. Затем выберите архив вашего приложения из архивов
  3. Затем нажмите кнопку " Загрузить в App Store " на правой панели
  4. Затем выполните следующие шаги

enter image description here

Шаг 1

enter image description here

Шаг 2

enter image description here

Шаг 3

Шаг 4 Наконец, выберите место, куда вы хотите сохранить файл .ipa

enter image description here

В дополнение к Кус ответ.

Есть некоторые изменения в Xcode 8.0

Шаг 1: Измените схему назначения на Generic IOS device .

Шаг 2. Нажмите " Product > " Archive > после завершения, откройте "Организатор" и нажмите последнюю версию.

Шаг 3: Нажмите на опцию Export. правой части окна органайзера.

Шаг 4: Выберите метод экспорта> Выберите правильную подпись> Сохранить в место назначения.

Шаг 3: На правой боковой панели нажмите "Распределить приложение".

Шаг 4: Выберите метод распространения и нажмите "Далее".

Шаг 5: Открывает окно параметров распространения. Выберите " Все совместимые варианты устройств" и нажмите "Далее".

Шаг 6: Выберите сертификат подписи.

Шаг 7: Откроется окно Подготовка архива к распространению. это займет несколько минут.

Шаг 8: Откроется окно Архивы. Нажмите на экспорт и сохраните его.

Расскажите, пожалуйста, полную процедуру создания моего приложения и его использования на реальном iPhone.

В Xcode версии 10.0

  1. Перейдите в Окно -> Органайзер .
  2. Затем выберите архив вашего приложения из архивов.
  3. Затем нажмите кнопку «Распространить приложение» на правой панели.

enter image description here

Шаг 1

enter image description here

Шаг 2

enter image description here

Шаг 3

enter image description here

Шаг 4

enter image description here

Шаг 5

enter image description here

Шаг 6 . Наконец, выберите место, в которое вы хотите сохранить файл .ipa.

enter image description here

В Xcode версии 9.2

  1. Откройте Окно-> Органайзер .
  2. Затем выберите архив вашего приложения из архивов.
  3. Затем нажмите кнопку « Загрузить в App Store » на правой панели.
  4. Затем выполните следующие действия.

Шаг 1

Шаг 2

Шаг 3

Шаг 4 Наконец, выберите место, где вы хотите сохранить файл .ipa.

enter image description here

Вот шаги, которые я выполнил для экспорта .ipa

  • Проверить архив
  • Нажмите, чтобы распространить приложение
  • Выберите способ распространения
  • Выберите экспорт на следующем экране (экран отображается только в том случае, если архив подтвержден)

Самый простой способ - выполнить следующие действия:

Шаг 1. После архивации проекта щелкните проект правой кнопкой мыши и выберите «Показать в поисковике».

Шаг 2: щелкните этот проект правой кнопкой мыши и выберите "Показать содержимое пакета", при этом перейдите к Products>Applications

Шаг 3: щелкните правой кнопкой мыши на projectname.app

Шаг 4: Скопируйте projectname.app в пустую папку и заархивируйте папку (foldername.zip)

Шаг 5: Измените расширение zipfolder на .ipa (foldername.zip -> foldername.ipa)

Шаг 6: Теперь у вас есть последний файл .ipa

В Xcode-11.2.1

Вы можете увидеть другую схему загрузки IPA
Шаги : -

I) Добавьте свой идентификатор разработчика Apple в настройках -> учетную запись .

ii) Чистая папка сборки: -

enter image description here

enter image description here

iv) Нажмите "Распространить приложение"

enter image description here

v) Выберите Ad-hoc для распространения на указанном устройстве

enter image description here

Процесс архивирования (с использованием Xcode 8.3.2)

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

  1. Выберите ‘Generic iOS Device ’в списке устройств в Xcode

Step 1

Step 2

Step 3

После успешного архивирования откроется окно с заархивированным проектом.

Вы можете проверить свой архив, нажав Validate (необязательный шаг, но рекомендуется)

Теперь нажмите кнопку Export

Step 4 5 6

  1. Это откроет список методов для экспорта. Выберите метод экспорта в соответствии с вашими требованиями и нажмите кнопку Next .

Step 7

  1. Это покажет list of team for provisioning . Выберите соответствующий вариант и нажмите кнопку « Choose ».

Step 8

  1. Теперь вам нужно выбрать Поддержка устройства -> Export one app for all compatible devices (рекомендуется). Если вам нужен IPA для определенного устройства, выберите вариант устройства из списка и нажмите кнопку « Next ».

Step 9

  1. Теперь вы сможете увидеть " Summary ", а затем нажать кнопку " Next "

Step 10

  1. После этого начнется создание файла IPA, а позже вы сможете export the IPA as [App Name - Date Time] , а затем нажать « Done ».

Step 11

Вам потребуется Build и Archive ваш проект. Возможно, вам потребуется проверить, какие настройки подписи кода у вас есть в проекте и исполняемом файле.

Используйте Организатор, чтобы выбрать версию архива, а затем вы можете Share эту версию вашего проекта. Вам нужно будет снова выбрать правильный код для подписи. Это позволит вам сохранить файл .ipa там, где вы хотите.

Перетащите файл .ipa в iTunes, а затем выполните синхронизацию со своим iPhone.

РЕДАКТИРОВАТЬ: Вот еще несколько подробных инструкций, включая скриншоты;

Нажмите Product > Archive в меню, когда это будет завершено, откройте Organiser и нажмите последнюю версию> Distribute > Save for Enterprise or Ad-Hoc Deployment > Выбрать правильную подпись> Сохранить в пункт назначения

Помимо кус ответит.

В Xcode 8.0 внесены некоторые изменения

Шаг 1: Измените назначение схемы на Generic IOS device .

Шаг 2: Нажмите Product > Archive >, когда это будет завершено, откройте Организатор и нажмите последнюю версию.

Шаг 3: Нажмите на опцию Export. в правой части окна органайзера.

Шаг 4: Выберите метод экспорта> Выберите правильную подпись> Сохранить в место назначения .

Шаг 3: На правой панели нажмите "Распространить приложение".

Шаг 4: Выберите "Метод распространения" и нажмите "Далее".

Шаг 5: Открывает окно опций распространения. Выберите Все варианты совместимых устройств и нажмите "Далее" .

Шаг 6: Выберите сертификат подписи.

Шаг 7: Откроется окно Подготовка архива к раздаче. это займет несколько минут

Шаг 8: Откроется окно "Архивы". Нажмите на экспорт и сохраните.

Читайте также: