Почему я получаю ошибку" не может быть добавлен в вашу библиотеку itunes, потому что это недопустимое приложение " при попытке установить Ad-Hoc build?

недавно я обновил свой Mac до Lion, а также Xcode 4.

в настройках сборки я установил " подпись кода "для" выпуска "как" распределение iPhone", которое соответствует нашему специальному файлу подготовки (который мы использовали в прошлом, на Snow Leopard/Xcode 3).

Я удалил старый файл прав (поскольку он, по-видимому, больше не используется Xcode 4).

В разделе схемы я установил архив для использования сборки выпуска.

Я строю с Продукт > Архив.

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

Я отправляю полученный файл IPA моему боссу, который ранее установил это приложение. Когда он пытается установить его, он получает сообщение "[appname] не может быть добавлен в вашу библиотеку itunes, потому что это недопустимое приложение".

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

любая помощь была бы очень признательна.

редактировать: то же самое происходит, пытаясь перетащить IPA в iTunes на Mac, который его создал! :(

Edit2: просто взял другой (почти идентичный) проект и попробовал построить без "модернизации" проекта или выбора каких-либо новых параметров в Xcode (значки, запуск изображений, ориентация и т. д.), и эта сборка работает. Я собираюсь проработать каждую из вещей, которые я сделал с оригинальным приложением с этим, тестируя на каждом шаге. Надеюсь, удастся изолировать, какой шаг нарушает скомпилированное приложение!

(также опубликовано на Форумы Разработчиков Apple)

11 ответов


кажется, я отследил это... Казалось, что это происходит очень периодически, поэтому потребовалось некоторое время (я бы воспроизвел его, откатил изменение, подтвердил, что оно сработало, а затем повторно применил изменение, чтобы оно снова сработало!).

однако после большой очистки / перезапуска / etc., Я считаю, что это связано с версией "сборки" в целевых настройках (теперь есть два поля версии: "Версия" и "сборка"). Кажется, что если "Build" пуст, то эта ошибка происходит.

к сожалению, изменение этого значения, похоже, не восстанавливается должным образом, поэтому иногда, если вы измените его, а затем Архивируете, вы все равно получите Предыдущее значение. Ручная очистка перед архивированием, похоже, работает вокруг этого.

значение записывается в файл plist как CFBundleVersion.


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

Jul 25 12:52:39 MyiPad installd[477] <Error>: 0x10059c000 init_pack_state: Archive we've been requested to install is 0 bytes. That can't be a valid ipa.

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

Итак, если у кого-то еще есть эта проблема на TestFlight, я надеюсь, что мой ответ позволит найти эту страницу проще; -)


Я также столкнулся с той же проблемой. После проведения некоторых исследований ниже приведены ответы как:

  • App Version и Build version не должно быть пустым.
  • не помещайте специальные символы в мое имя пакета приложений.
  • а также не было никаких проблем с моими профилями подготовки.

после отладки обнаружил, что в моей схеме имя и информация не совпадают.имя файла plist файл. В моем проекте у меня есть 3 схемы,такие как a,b, c и только одна a-info.файл plist файл. Я создавал IPA для разных схем, таких как "b".

в вашем сценарии, если вы создали несколько схем, проверьте свою информацию.имя файла plist. Это должно быть таким же, как ваше имя схемы (для которого вы создаете IPA).

пример. Название схемы - "myScheme", а затем ваша информация.имя файла plist как ' myScheme-Info.файл plist'.

надеюсь, это поможет вам.


Я получил то же сообщение ("не действительное приложение"). В моем случае я FTPing встроенное приложение на веб-сервер, то я мог бы OTA обеспечить его. Я не переключался в двоичный режим, прежде чем я помещал файл, поэтому.файл был поврежден по пути. Мне потребовалось почти весь вечер, чтобы понять эту глупую ошибку...


ok.. сделать одну вещь.. Открыть информацию.файл plist.. Перейдите к идентификатору пакета и измените имя идентификатора пакета. Он должен быть уникальным.. что-то вроде "ком.ваша_компания.projectname " и создать и попытаться установить ipa.. Это должно сработать


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

У меня было специальное приложение, которое все в команде разработчиков могли установить нормально, за исключением одного человека, который получил ошибку от iTunes:

X не является допустимым приложением

Он был в состоянии установить более ранние версии этого приложения. Восстановление приложения, изменение номер версии и номер сборки меняется не имели никакого эффекта, он все еще не мог установить, но другие могут.

я исправил это, создав новый проект Xcode, либо скопировав файлы, либо скопировав и вставив содержимое файлов из старого проекта в новый, и перестроив приложение и подписав его точно так же, как старый проект. Это сработало.


У меня была аналогичная проблема при попытке создать .ipa для распространения adHoc для одного из старых проектов (построен год назад экс-разработчиком). После многих исследований в google и после вышеупомянутых решений это не сработало для меня somereason.

позже после перехода по этой ссылке -здесь. Путем замены .plist файл с существующими рабочими проектами (очевидно - соответствующие иконки/bundle отображаемое имя/идентификатор) и переименование с текущим .файл plist имя. У меня получилось.

Я буквально потратил около 3-4 часов, чтобы исправить эту проблему. Надеюсь, это кому-то поможет.

среда была родной-iOS app.


добавить...... "Приложение требует среды iPhone" в вашей информации.plist или если дать ему значение "да". Проверка "Build" и "Version" вообще не пустые.... надеюсь, это сработает


импорт содержимого проекта в новый проект решил проблему для меня.


для меня мы пытались сделать корпоративную сборку очень старого приложения, из iOS 5.

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

Я сравнил информацию.plist с другим приложением и, конечно же,

Application requires iPhone environment = NO

в основном этот ключ всегда должен быть установлен в да для приложений iOS независимо от того, для iPhone, iTouch или устройство iPad...

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

Bundle version
Bundle versions string, short

должен всегда присутствовать!


право.. но я думаю, что это столкновение с более ранним идентификатором пакета (это происходит потому, что вы обновили Xcode). Вы пытались изменить существующее имя идентификатора пакета и установить его ? У меня была идентичная проблема и впустую 3-4 дней.. Я изменил существующее имя идентификатора пакета, и это сработало.. Также вы можете проверить имя пакета и версию пакета в info.файл plist