Почему при попытке установить сборку Ad-Hoc возникает ошибка «не удается добавить в библиотеку itunes, поскольку она не является допустимым приложением»? - PullRequest
9 голосов
/ 27 сентября 2011

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

В настройках сборки я установил «Подписание кода» для «Релиз» как «Распространение iPhone», что соответствует нашему файлу обеспечения Ad-Hoc (который мы использовали в прошлом, на Snow Leopard / Xcode 3) .

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

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

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

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

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

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

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

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

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

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

Ответы [ 11 ]

19 голосов
/ 29 сентября 2011

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

Однако, после большой очистки / перезапуска / и т. д., я считаю, что это связано с версией «Build» в настройках цели (теперь есть два поля версии, «Version»).и "строить").Кажется, что если «Build» пусто, то возникает эта ошибка.

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

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

2 голосов
/ 24 декабря 2014

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

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

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

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

Пример.Имя схемы - «myScheme», затем имя вашего файла Info.plist - «myScheme-Info.plist».

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

2 голосов
/ 25 июля 2014

Недавно у меня возникла проблема с Ad-Hoc установкой с использованием сервиса 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.

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

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

1 голос
/ 30 марта 2013

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

0 голосов
/ 18 июля 2015

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

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

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

Application requires iPhone environment = NO

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

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

Bundle version
Bundle versions string, short

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

0 голосов
/ 27 марта 2015

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

0 голосов
/ 14 февраля 2015

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

0 голосов
/ 30 декабря 2014

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

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

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

среда была родной - приложение для iOS.

0 голосов
/ 05 мая 2012

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

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

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

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

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

0 голосов
/ 29 сентября 2011

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

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