Xcode 4: создать файл IPA вместо .xcarchive
В Xcode 3.2.5 я использую "Build And Archive" для создания файла IPA. В Xcode 4 вы можете использовать "Продукт → Архив" для архивирования приложения в пакете .xcarchive.
Как создать файл .ipa с Xcode 4?
Ответы
Ответ 1
Создание IPA выполняется так же, как создание .xcarchive: Product → Archive. После завершения операции Архивирования перейдите в Органайзер, выберите свой архив, выберите "Поделиться" и в поле "Выберите контент и параметры для совместного использования:" установите "Содержимое" в "Пакет хранилища приложений iOS (.ipa) и Identity to iPhone Distribution (который должен соответствовать профилю вашего рекламного объявления/магазина приложений для проекта).
Скорее всего, опция "Пакет приложений для магазина приложений iOS (.ipa)" может быть отключена. Это происходит, когда ваша сборка создает более одной цели: скажем, приложение и библиотеку. Все они попадают в папку с продуктами сборки, и Xcode наивно путается о том, как их упаковать в файл .ipa, поэтому он просто отключает эту опцию.
Способ решения этой проблемы заключается в следующем: выполните настройки сборки для каждой из целей, за исключением целевого объекта приложения, и установите флажок "Пропустить установку установки" в "ДА". Затем снова запустите Product → Archive tango и перейдите в Организатор, чтобы выбрать новый архив. Теперь, когда вы нажимаете кнопку "Поделиться", параметр .ipa должен быть включен.
Надеюсь, это поможет.
Ответ 2
Просто установка Skip Install для YES не сработала для меня.
Надеюсь, это поможет кому-то.
Я пошел на зависимость моих целей проекта: Coreplot-CocoaTouch. Затем перешли на цели Coreplot-CocoaTouch. В своих целевых объектах открываются фазы сборки. Затем открыли Копировать заголовки. Там у меня были некоторые заголовки в Public, некоторые из Private и некоторые в Project. Перемещено ВСЕ из них в Project.
Конечно, в настройках сборки для целевых объектов Coreplot-CocoaTouch проверено, что для параметра Пропустить установку установлено значение "Да" в параметрах развертывания.
И на этот раз Архив создал архив, который можно было бы подписывать и .ipa.
Ответ 3
Для архивов Xcode 4.6 (и Xcode 5)
- В организаторе щелкните правой кнопкой мыши архив, выберите "Показать в Finder"
- В Finder щелкните правой кнопкой мыши архив, выберите "Показать содержимое пакета"
- Откройте папку Продукты > Приложения
- Приложение есть
-
Перетащите приложение в папку iTunes Apps
![enter image description here]()
-
Щелкните правой кнопкой мыши приложение в iTunes Apps, выберите "Показать в Finder"
-
.ipa
есть!
Ответ 4
В организаторе вы можете нажать "Поделиться" и сохранить как пакет приложений App Store (.ipa). Вы также можете выбрать "Архив" в меню "Продукт", чтобы создать архив в Органайзер. Наконец, я думаю, что для этого нужно иметь правильно подписанную архивированную сборку.
Ответ 5
Предполагая, что вы сделали успешный Продукт > Архив, затем от Организатора (Shift Apple 2) щелкните Архивы.
Выберите свой Архив.
Выберите "Поделиться".
На панели "Выберите контент и параметры для совместного использования:" установите "Содержание" в папку "Магазин приложений для iOS" (.ipa) и "Identity to iPhone".
Нажмите "Далее", введите имя приложения и нажмите "Сохранить".
Подробные сведения о скриншотах приведены здесь:
Xcode4UserGuide
Ответ 6
У меня была такая же проблема, используя старую версию библиотеки route-me.
Я "пропустил" все библиотеки и библиотеки внутри библиотек (proj4), но у меня все еще была такая же проблема.
Оказывается, что route-me и proj4 устанавливали общедоступные файлы заголовков, даже когда библиотеки пропускались, что было бесполезно!
Поэтому я только что вошел в маршрут - я и proj4 цели вкладка "Построить фазы", открыл "Копировать заголовки", открыл "Публикация" и перетащил эти заголовки из "Общественности" в "Проект".
Теперь они не устанавливаются в $(BUILD)/usr/local/include, и я могу сделать ipa файл из архива!
Я надеюсь, что Apple решит эту ужасную проблему юзабилити с XCode. Он не дает абсолютно никакого указания на то, что неправильно, он просто не работает. Я ненавижу тусклые элементы управления, которые ничего не говорят о том, почему они затуманены. Как насчет того, чтобы игнорировать клики, отключенные элементы управления могли вывести сообщение о том, почему, черт возьми, они отключены, когда вы нажимаете на них в расстройстве?
Ответ 7
Попробуйте ответить на другой подобный вопрос: XCode4 + iOS 4.3: "Нет типа Packager существует для типа архива"
Ответ 8
Тот, кто попробовал все другие ответы и не повезло, пожалуйста, установите этот флажок, надеюсь, что это поможет (сделал трюк для меня xcode 6.0.1)
![enter image description here]()
Ответ 9
У меня была такая же проблема... Придется воссоздать проект с нуля.
Примечание. Мой проект был создан в XCode 3.1 и привязывался к статической библиотеке, которая строилась как подпроект (для общего назначения). Я изменил это, чтобы построить источник вместо этого, когда я воссоздал проект XCode в XCode 4.
Теперь, когда в Product/Archive/Share... появляется опция "iOS App Store Package (.ipa)" непосредственно над "Приложением" (которое теперь выделено серым цветом) и "Архив" (которое экспортирует .xcarchive).
Ответ 10
Такая же проблема.
Я решил установить флаг "skip install" для YES для каждого внешнего проекта, оставив другие цели основного проекта без изменений.
Мне также пришлось перейти к "Редактировать схему...", выбрать панель "Архивирование" и установить правильную настройку сборки для моей специальной задачи.
Затем простой продукт → Архив → Поделиться сделал ожидаемую работу.
Ответ 11
Вам нужно будет создать и архивировать ваш проект. Вам может потребоваться проверить, какие настройки подписывания кода у вас есть в проекте и исполняемом файле.
Используйте Организатор, чтобы выбрать свою версию архива, а затем вы можете поделиться этой версией своего проекта. Вам нужно будет снова выбрать правильную подпись кода. Это позволит вам сохранить файл .ipa, где вы хотите.
Перетащите файл .ipa в iTunes и затем синхронизируйтесь с вашим iPhone.
Ответ 12
Если это игра (может быть, приложение также), и у вас есть некоторые статические библиотеки, такие как cocos2d или другая сторонняя библиотека... тогда вам просто нужно выбрать старую библиотеку * ТОЛЬКО * НЕ APP) и в настройках его сборки в разделе "Развертывание" установите флажок "Пропустить установку установки" на YES
, и Archive it dats it...!!
Ответ 13
У меня возникла такая же проблема. Ни один из ответов выше не работал у меня, но я решил найти решение самостоятельно.
Файл ipa не был создан из-за наличия файлов библиотеки (libXXX.a) в Target- > Build Phases → Copy Bundle с ресурсами
Надеюсь, это поможет кому-то:)