Подтвердить что ты не робот

Xcode iOS-организатор отправляет в хранилище приложений ошибку "Недопустимый архив"

Я только что переключился с Xcode 3 на 4. Когда я пытаюсь загрузить приложение, которое я заархивировал для организатора, я получаю эту ошибку:

Недопустимый архив. /var/folders/.../app.ipa не существуют.

archive is invalid. app.ipa does not exist.

Это происходит после входа в itunes connect, выберите приложение для обновления и выберите следующий. Я не знаю, с чего начать пытаться выяснить, что вызывает эту ошибку. Пожалуйста, дайте мне знать, если я откажусь от всего, что было бы полезно для диагностики. Благодаря

4b9b3361

Ответ 1

Хорошо, поэтому, когда вы устанавливаете пакет Xcode 4, убедитесь, что у вас есть опция "Unix Tools". Это была проблема в моем случае.

Ответ 2

Я сам столкнулся с этой проблемой, и, похоже, я нашел решение. Несмотря на то, что выбран правильный профиль подготовки, он может и не быть.

Попробуйте вручную перейти к списку возможных профилей подготовки и выбрать правильный. Не оставляйте настройку при автоматическом выборе.

В списке "Identity:" убедитесь, что он не говорит "В настоящее время соответствует...". Вручную выберите правильный.

Это должно устранить проблему, и вы сможете загрузить ее в AppStore.

Ответ 3

Если вы используете бета-версию Xcode (Apple называет ее "предварительным просмотром разработчика" ), вы получите эту ошибку, потому что вам запрещено отправлять приложения из бета-версии. Это ограничение не упоминается в файле Read Me или на странице загрузки Xcode. Чтобы отправить приложение, вам нужно будет удалить инструменты разработчика, затем переустановить последнюю не-бета-версию, а затем перезагрузить компьютер.

Здесь команда командной строки для удаления:

sudo /Developer/Library/uninstall-devtools --mode=all

Ответ 4

  • Выйти из Xcode
  • С помощью текстового редактора откройте файл YourProject.xcodeproj/project.pbxproj
  • Удалить все строки, содержащие PROVISIONING_FILE =
  • Удалить все строки, содержащие CODE_SIGN_IDENTITY =
  • Сохранить и закрыть project.pbxproj
  • Повторно запустите проект в Xcode
  • Очистить проект
  • В панели "Параметры сборки" выберите правильный идентификатор подписи кода
  • Перестроить

Ответ 5

Недавно я переключился на новый MacBook Pro и установил XCode 4 с диска Time Machine с помощью ассистента миграции.

Переустановка XCode 4 с помощью Unix Tools исправила его.

По какой-то причине эти файлы не копировались с помощью ассистента миграции.

Ответ 6

У меня была такая же проблема как для TestFlight, так и для App Store. Решение для меня заключалось в том, чтобы архивировать приложение, и в организаторе выберите "Не подписывать", когда вы пытаетесь проверить/отправить или поделиться (в случае с TestFlight).

Надеюсь, что это поможет.

Ответ 7

В моем случае это не имеет ничего общего с Xcode или инструментами unix. На самом деле у меня было слишком много сертификатов распространения (почему? Я не знаю). Удалили все из них, кроме одного, с кодовым знаком с этим, заново подпишите его, проверяя и отправляя без ошибок. Я использую эту помощь.

Ответ 8

Хорошим способом тестирования является запуск сборки из командной строки. Перейдите в папку проекта и запустите "xcodebuild" и внимательно посмотрите на выходы, особенно вокруг команды "codeign".

Я сделал это и обнаружил следующее:

architecture armv7 object: /Users/chris/Documents/x/x/build/Release-iphoneos/x.app/x malformed object
object file format invalid or unsuitable

Таким образом, это не решение, но оно по крайней мере позволяет вам в нуль решить проблему. В любом случае, для меня это выглядит как ошибка конфигурации архитектуры.

Обновление. Чтобы исправить эту проблему, я заменил копию codesign_allocate в моей /usr/bin папке с помощью файла/Developer/где-то и исправил его.

Ответ 9

Я пробовал большинство вышеперечисленных идей, и они не работали для меня, вероятно, потому, что я использую платформу Appcelerator Titanium. Однако я удалил каталог Build и переделал продукт, и он прошел проверку, и я смог загрузить двоичный файл в хранилище приложений.

Ответ 10

То же самое случилось со мной. Моя ошибка заключалась в том, что у меня были сертификаты с похожими именами (например, "Профиль профилирования Giammy", "Профиль для предоставления Giammy"...).

Запуск "Архив" из XCode 4.0, а затем "Проверить..." с Организатора. Я столкнулся с проблемой "app.ipa не существует". Проблема заключалась в том, что я выбрал неверный сертификат у тех, у кого есть похожие имена. Фаза "Архив" работала хорошо, но архив не прошел проверку.

Решение: просто подобрал правильный профиль подготовки на этапе "Архив" .

Извлеченный урок: дважды проверьте имя профиля создания!

Ответ 11

Убедитесь, что вы подписываете ключи для правильного идентификатора продукта/пакета. Если я правильно помню, это может привести к проблемам архивирования. Кроме того, перейдите в эту папку temp и проверьте, что создано. Возможно, xCode создает IPA под другим именем, что может дать вам подсказку.

Ответ 12

Я решил эту же проблему, удалив все устаревшие сертификаты подписи из моего Keychain. Кажется, что Xcode просто захватил первый найденный с заданным именем, независимо от того, все ли он действителен.

Ответ 13

Я пробовал все, включая переустановку xcode4 с помощью инструментов unix. Ничего не работает. Я предполагаю, что мне не нужно это делать, поскольку я могу отправлять другие приложения без проблем. У меня просто проблема с проектом partiular (от xcode3).

Я даже создал проект с нуля, импортировал весь код и снова попытался - не удалось. так что это не только мой проект, но и что-то в нем. Поэтому я начал процесс создания нового проекта, добавления некоторых файлов, затем отправки, а затем отказался выяснить, что вызывает его. Это работает до сих пор.

update: ok - это как-то связано с использованием CorePlot и связыванием его в виде библиотеки. и вуаля - нашел ответ здесь. Не удается отправить приложение с помощью CorePlot с помощью Xcode4 Решение: при отправке выберите "Не уходить в отставку"

Ответ 14

Я не смог решить эту проблему, изменив или установив идентификаторы подписи кода (что должно во многих случаях разрешать эту проблему, а также просто переустанавливать Xcode.Это два лучших решения, когда я отправляю этот ответ.

Я нашел успех в деинсталляции всех инструментов разработчика и переустановке с нуля.

Ответ 15

Вот как я это решил:

  • Откройте брелок и удалите все сертификаты распространения, как из моего "входа", так и из "системы".
  • Загрузите последний сертификат распространения из Центра Dev.
  • Дважды щелкните сертификат для установки в Keychain.
  • В XCode убедитесь, что имя сертификата совпадает с настройками сборки.
  • Создать для архива (всплывающее окно Keychain должно запрашивать разрешение на подписание приложения).
  • Архив (опять же, требуется подтверждение привязки).
  • Подтвердить архивированное приложение (опять же, потребуется подтверждение привязки ключей).
  • Отправить приложение (еще раз, потребуется подтверждение связки ключей).

Если вы создаете для Archive и вы не видите диалоговое окно подтверждения Keychain, вы можете остановиться в этой точке, потому что отправка не будет работать.

Ответ 16

У меня была эта же проблема с использованием xcode_4.2_and_ios_sdk_5_beta__snow_leopard, моего рабочего решения.

Установить предыдущую (не бета-версию) версию Xcode в другом месте и работать с этой версией, и что она работает, я смог загрузить приложение в AppStore без каких-либо неудобств.

С уважением,

Хорхе.

Ответ 17

Мое решение было:

Откройте файл info.plist в вашем проекте и в названии продукта напишите название своей продукции вместо $[PRODUCT_NAME]

Ответ 18

Никогда не пытайтесь отправлять приложения с помощью бета-SDK в качестве базового SDK.

Я избавился от этой проблемы, удалив все инструменты для разработчиков с помощью следующей команды

sudo/Developer/Library/uninstall-devtools --mode = all

а затем перезапустил мою систему и установил последнюю не-бета-версию XCode и не-бета-версии iOS SDK.

Ответ 19

Вы играли с атрибутом ENTITLEMENTS_REQUIRED в /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist(скажем, для создания jailbroken-приложений)?

В этом случае, пожалуйста, reset ENTITLEMENTS_REQUIRED к YES.

Ответ 20

для xcode 4 Я пробовал все, но я не могу решить эту ошибку до тех пор, пока установить xcode 4.2 для snowleopart

если вы не видите значок своего приложения на странице проверки, его может быть ваш xcode. скачайте с сайта разработчика xcode 4.2 и установите его. его решение. вам не нужно удалять xcode 4, просто скачайте новый xcode 4.2 и установите. Я очень хорошо сейчас

Ответ 21

Если эта ошибка возникла в Xcode, она не имела такой ошибки при использовании Application Loader. Получите его через Xcode → Open Developer Tool → Application Loader. Очень расстраивает.