В Xcode 3.2.5 я использую «Build And Archive» для создания файла IPA. В Xcode 4 вы можете использовать «Product -> Archive» для архивирования приложения в пакете .xcarchive.
Каждый раз, когда я создаю новую версию adhoc, мой поиск в Google приводит меня сюда. Я видел эту страницу много раз за последние несколько месяцев. Хороший вопрос, хорошее решение
Создание IPA выполняется так же, как и создание .xcarchive: Product -> Archive. После завершения операции архивирования перейдите в органайзер, выберите свой архив, выберите «Поделиться» и на панели «Выбор содержимого и параметров для совместного использования:» установите для «Содержимое» значение «Пакет App Store для iOS (.ipa)» и «Распределение удостоверений для iPhone» (которое должен соответствовать вашему профилю предоставления специального магазина / приложения для проекта).
Скорее всего, опция «Пакет iOS App Store (.ipa)» может быть отключена. Это происходит, когда ваша сборка создает более одной цели: скажем, приложение и библиотека. Все они попадают в папку продуктов сборки, и Xcode наивно путается, как упаковать их оба в файл .ipa, поэтому он просто отключает эту опцию.
Чтобы решить эту проблему, выполните следующие действия: пройдите настройки сборки для каждой цели, кроме цели приложения, и установите для флага «Пропустить установку» значение YES. Затем снова выполните Product -> Archive tango и перейдите к Организатору, чтобы выбрать новый архив. Теперь при нажатии на кнопку «Поделиться» должна быть включена опция .ipa.
Это исправило мою проблему, спасибо! В моем случае проблема была на самом деле в одном из дочерних проектов (для меня ProtocolBuffers), у которого было несколько целей, которые нужно было установить без установки.
JosephH
Возможно, вам понадобится Product -> Очистить и открыть / закрыть рабочее пространство, прежде чем появится опция Product -> Archive.
Марк Чакериан,
У меня была проблема с несколькими целями. Установка общей библиотеки для Пропустить Установить ДА и приложение Пропустить Установка НЕТ исправили это. Это не было проблемой для меня в Xcode 3.2, только 4.1.
logancautrell
44
«Поделиться» теперь является «Распределить ...», а затем выберите «Сохранить для предприятия оперативного развертывания»
Рембрандт В. Эйнштейн,
«Пропустить установку» недостаточно - у меня есть эта ошибка с Xcode 4.5, и она отказывается когда-либо правильно распространять, с тех пор, как я добавил библиотеку с пакетом.
Адам
44
Просто установка Skip Install на YES не работает для меня. Надеюсь, это кому-нибудь поможет.
Я пошел в зависимость от целей моего проекта: Coreplot-CocoaTouch. Затем отправился в Coreplot-CocoaTouch Targets. В его Targets открыты Build Phases. Затем открыл Копировать заголовки. Там у меня были некоторые заголовки в Public, некоторые в Private и некоторые в Project. Переместил ВСЕХ из них в Project.
Конечно, в настройках сборки Coreplot-CocoaTouch Targets проверено, что для параметра «Пропустить установку» задано значение «ДА» в параметрах развертывания.
И на этот раз Архив сделал архив, который можно было бы подписать и создать .ipa.
Это то, что мне действительно нужно для моего xcode 4.6.3. Все вышеперечисленное для меня просто бессмысленно, только эта работа. Большой !
Форрест
осторожно, создаст ipa, но может не установить должным образом, после синхронизации он показывает значок на телефоне, но говорит, что установка выполняется снизу и никогда не заканчивается. во всяком случае, это мой опыт до сих пор после этого, Xcode 5.1.1.
Колин Ламарр
4
В органайзере вы можете нажать «Поделиться» и сохранить как пакет iOS App Store (.ipa). Вам также может потребоваться выбрать «Архив» в меню «Продукт», чтобы создать архив в Организаторе. Наконец, я думаю, что вы должны иметь правильно подписанную архивную сборку, чтобы сделать это.
Было легко понять, как создать архив из проекта. Проблема в том, что при совместном использовании опция «Пакет» недоступна. Возможно, вы правы, что архив должен быть подписан правильно, чтобы эта опция была включена. Я использую ключ для распространения Ad-Hoc, а также имею права, указанные для распространения Ad-Hoc. Не могли бы вы поделиться, как сделать возможным создание файла IPA?
Красник
4
У меня была такая же проблема, используя старую версию библиотеки route-me. Я «пропустил» все библиотеки и библиотеки внутри библиотек (proj4), но у меня все еще была та же проблема. Оказывается, что route-me и proj4 устанавливали общедоступные заголовочные файлы, даже когда библиотеки были пропущены, что приводило их в порядок! Поэтому я просто вошел во вкладку «Фазы сборки» целей route-me и proj4, открыл «Копировать заголовки», открыл «Публичный» и перетащил эти заголовки из «Публичного» в «Проект». Теперь они не устанавливаются в $ (BUILD) / usr / local / include, и я могу создать файл ipa из архива!
Я надеюсь, что Apple исправит эту ужасную проблему с XCode. Это абсолютно не указывает на то, что не так, просто не работает. Я ненавижу тусклые элементы управления, которые ничего не говорят вам о том, почему они отключены. Как насчет того, чтобы вместо игнорирования щелчков отключенные элементы управления могли выдавать сообщение, говорящее вам, какого черта они отключены, когда вы нажимаете на них в отчаянии?
Ага! Все заголовочные файлы, помеченные как публичные, решают проблему. Установка их в качестве проекта устранила проблему!
ЯкубКнейзлик
3
Предполагая, что вы успешно выполнили «Продукт»> «Архив», в Организаторе (Shift Apple 2) нажмите «Архивы».
Выберите свой архив. Выберите Поделиться. На панели «Выберите содержимое и параметры для совместного использования:» установите для «Содержимое» значение «Пакет iOS App Store (.ipa)» и «Идентификация для iPhone».
Нажмите Далее, введите имя приложения и нажмите Сохранить.
Тот, кто попробовал все остальные ответы и не повезло, пожалуйста, установите этот флажок, надеюсь, это поможет (сделал свое дело для меня xcode 6.0.1)
У меня была такая же проблема ... Пришлось воссоздать проект с нуля.
Примечание: мой проект был создан в XCode 3.1 и связывался со статической библиотекой, которая создавалась как подпроект (с общим назначением). Я изменил это, чтобы создать исходный код вместо этого, когда я воссоздал проект XCode в XCode 4.
Теперь, выполняя Product / Archive / Share ..., вы получаете опцию «Пакет App Store для iOS (.ipa)» прямо над «Application» (который теперь неактивен) и «Archive» (который экспортирует .xcarchive).
Та же проблема. Я решил установить флаг «Пропустить установку» на ДА для каждого внешнего проекта, оставив другие цели основного проекта без изменений.
Я также должен был перейти к «Редактировать схему…», выбрать панель «Архивация» и установить правильные настройки сборки для своих специальных целей.
Тогда простой Product -> Archive -> Share сделал ожидаемую работу.
Вам нужно будет построить и архивировать свой проект. Возможно, вам придется проверить, какие настройки подписи кода у вас есть в проекте и исполняемом файле.
Используйте Организатор, чтобы выбрать версию архива, а затем вы можете поделиться этой версией своего проекта. Вам нужно будет снова выбрать правильный код подписи. Это позволит вам сохранить файл .ipa, где вы хотите.
Перетащите файл .ipa в iTunes, а затем синхронизируйте его с iPhone.
Если это игра (может быть и приложение), и у вас есть статические библиотеки, такие как cocos2d или другая сторонняя библиотека ... тогда вам просто нужно выбрать * ТОЛЬКО * статическую библиотеку (НЕ ПРИЛОЖЕНИЕ) и в ее настройках сборки в разделе Развертывание, установите флаг Пропустить установку YESи заархивируйте его ... !!
Я пошел бросил ту же проблему. Ни один из приведенных выше ответов не помог мне, но я сам нашел решение. Файл ipa не был создан, потому что в Target-> Build Phase -> Copy Bundle с ресурсами были библиотечные файлы (libXXX.a)
Ответы:
Создание IPA выполняется так же, как и создание .xcarchive: Product -> Archive. После завершения операции архивирования перейдите в органайзер, выберите свой архив, выберите «Поделиться» и на панели «Выбор содержимого и параметров для совместного использования:» установите для «Содержимое» значение «Пакет App Store для iOS (.ipa)» и «Распределение удостоверений для iPhone» (которое должен соответствовать вашему профилю предоставления специального магазина / приложения для проекта).
Скорее всего, опция «Пакет iOS App Store (.ipa)» может быть отключена. Это происходит, когда ваша сборка создает более одной цели: скажем, приложение и библиотека. Все они попадают в папку продуктов сборки, и Xcode наивно путается, как упаковать их оба в файл .ipa, поэтому он просто отключает эту опцию.
Чтобы решить эту проблему, выполните следующие действия: пройдите настройки сборки для каждой цели, кроме цели приложения, и установите для флага «Пропустить установку» значение YES. Затем снова выполните Product -> Archive tango и перейдите к Организатору, чтобы выбрать новый архив. Теперь при нажатии на кнопку «Поделиться» должна быть включена опция .ipa.
Надеюсь, это поможет.
источник
Просто установка Skip Install на YES не работает для меня. Надеюсь, это кому-нибудь поможет.
Я пошел в зависимость от целей моего проекта: Coreplot-CocoaTouch. Затем отправился в Coreplot-CocoaTouch Targets. В его Targets открыты Build Phases. Затем открыл Копировать заголовки. Там у меня были некоторые заголовки в Public, некоторые в Private и некоторые в Project. Переместил ВСЕХ из них в Project.
Конечно, в настройках сборки Coreplot-CocoaTouch Targets проверено, что для параметра «Пропустить установку» задано значение «ДА» в параметрах развертывания.
И на этот раз Архив сделал архив, который можно было бы подписать и создать .ipa.
источник
Для архивов Xcode 4.6 (и Xcode 5)
Перетащите приложение в папку iTunes Apps
Щелкните правой кнопкой мыши приложение в iTunes Apps, выберите «Показать в Finder».
.ipa
есть!источник
В органайзере вы можете нажать «Поделиться» и сохранить как пакет iOS App Store (.ipa). Вам также может потребоваться выбрать «Архив» в меню «Продукт», чтобы создать архив в Организаторе. Наконец, я думаю, что вы должны иметь правильно подписанную архивную сборку, чтобы сделать это.
источник
У меня была такая же проблема, используя старую версию библиотеки route-me. Я «пропустил» все библиотеки и библиотеки внутри библиотек (proj4), но у меня все еще была та же проблема. Оказывается, что route-me и proj4 устанавливали общедоступные заголовочные файлы, даже когда библиотеки были пропущены, что приводило их в порядок! Поэтому я просто вошел во вкладку «Фазы сборки» целей route-me и proj4, открыл «Копировать заголовки», открыл «Публичный» и перетащил эти заголовки из «Публичного» в «Проект». Теперь они не устанавливаются в $ (BUILD) / usr / local / include, и я могу создать файл ipa из архива!
Я надеюсь, что Apple исправит эту ужасную проблему с XCode. Это абсолютно не указывает на то, что не так, просто не работает. Я ненавижу тусклые элементы управления, которые ничего не говорят вам о том, почему они отключены. Как насчет того, чтобы вместо игнорирования щелчков отключенные элементы управления могли выдавать сообщение, говорящее вам, какого черта они отключены, когда вы нажимаете на них в отчаянии?
источник
Предполагая, что вы успешно выполнили «Продукт»> «Архив», в Организаторе (Shift Apple 2) нажмите «Архивы».
Выберите свой архив. Выберите Поделиться. На панели «Выберите содержимое и параметры для совместного использования:» установите для «Содержимое» значение «Пакет iOS App Store (.ipa)» и «Идентификация для iPhone».
Нажмите Далее, введите имя приложения и нажмите Сохранить.
Полная информация о скриншотах здесь: Xcode4UserGuide
источник
Тот, кто попробовал все остальные ответы и не повезло, пожалуйста, установите этот флажок, надеюсь, это поможет (сделал свое дело для меня xcode 6.0.1)
источник
У меня была такая же проблема ... Пришлось воссоздать проект с нуля.
Примечание: мой проект был создан в XCode 3.1 и связывался со статической библиотекой, которая создавалась как подпроект (с общим назначением). Я изменил это, чтобы создать исходный код вместо этого, когда я воссоздал проект XCode в XCode 4.
Теперь, выполняя Product / Archive / Share ..., вы получаете опцию «Пакет App Store для iOS (.ipa)» прямо над «Application» (который теперь неактивен) и «Archive» (который экспортирует .xcarchive).
источник
Та же проблема. Я решил установить флаг «Пропустить установку» на ДА для каждого внешнего проекта, оставив другие цели основного проекта без изменений.
Я также должен был перейти к «Редактировать схему…», выбрать панель «Архивация» и установить правильные настройки сборки для своих специальных целей.
Тогда простой Product -> Archive -> Share сделал ожидаемую работу.
источник
Вам нужно будет построить и архивировать свой проект. Возможно, вам придется проверить, какие настройки подписи кода у вас есть в проекте и исполняемом файле.
Используйте Организатор, чтобы выбрать версию архива, а затем вы можете поделиться этой версией своего проекта. Вам нужно будет снова выбрать правильный код подписи. Это позволит вам сохранить файл .ipa, где вы хотите.
Перетащите файл .ipa в iTunes, а затем синхронизируйте его с iPhone.
источник
Если это игра (может быть и приложение), и у вас есть статические библиотеки, такие как cocos2d или другая сторонняя библиотека ... тогда вам просто нужно выбрать * ТОЛЬКО * статическую библиотеку (НЕ ПРИЛОЖЕНИЕ) и в ее настройках сборки в разделе Развертывание, установите флаг Пропустить установку
YES
и заархивируйте его ... !!источник
Я пошел бросил ту же проблему. Ни один из приведенных выше ответов не помог мне, но я сам нашел решение. Файл ipa не был создан, потому что в Target-> Build Phase -> Copy Bundle с ресурсами были библиотечные файлы (libXXX.a)
Надеюсь, это поможет кому-то :)
источник