CFBundleVersion в информации.ошибка загрузки файла plist

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

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

Я установил обновленную версию 1.2 на iTunes Connect и также обновил до 1.2.

Я не понимаю, почему я получаю эту ошибку. Любая помощь будет оценена. Спасибо.

30 ответов


есть по крайней мере 1 известная ошибка на сервере загрузки Apple, которую они не исправляли более 12 месяцев. Вещи остерегаться:

  1. Apple удаляет все ведущие нули внутри номера версии; т. е. "вся строка" не рассматривается как число, вместо этого биты между точками рассматриваются как отдельные числа. например, "1.02" рассматривается Apple как "1.2". Итак, для Apple 1.02 больше, чем 1.1
  2. Apple иногда "путается" и, похоже, сравнивает ваши uploaded-приложение к версии другого приложения, которое вы ранее загрузили. Это случилось со многими людьми, и я сам видел это несколько раз
  3. Apple должна сравнивать " CFBundleVersion "(т. е." Bundle version", а не" Bundle versions string, short"); не путайте.
  4. часто единственным жизнеспособным решением является удар переднего номера (например, "2" в "2.4" - увеличить его до "3")
  5. номер версии, который вы загружаете, не связан с номер версии, который появляется в iTunes-вы можете поместить туда все, что хотите, и это то, что ваши пользователи увидят
  6. ...кроме того, если вы также сообщите "фактический" номер версии внутри вашего приложения, пользователь увидит CFBundleVersion (обычно, зависит от того, как вы его кодируете), а не версию iTunes (к которой, я думаю, нельзя получить доступ из вашего приложения)

обновить номер сборки. Номер версии важен,но номер сборки имеет значение. Например, у меня была начальная версия приложения как:

version #: 1.0
build #:   1.0

однако, когда я попытался загрузить следующую версию, т. е.

version #: 1.1
build #:   1.0

он не примет загрузку. Просто увеличив build # до 1.1, загрузка была принята.


Xcode 4 подумает, что вы хотите повторно загрузить ту же версию, если вы не повторно архивировать приложение. Даже если вы измените версию пакета и перестроите его, загрузка завершится неудачно. Не забудьте сделать "архиве" в меню продукта!


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

  1. перейдите в iTunes Connect - > Управление приложениями
  2. выберите приложение, которое вы хотите проверить предыдущую версию для
  3. нажать на синюю кнопку с надписью Посмотреть Подробнее
  4. нажмите на ссылку с надписью Двоичные Данные
  5. найти значение, заданное для Пакета Версии

хотя я думал, что отправил номер версии 1.0.1, фактическое число, которое Apple сохранила, было 101. Некоторые из приведенных выше комментариев заставили меня поверить, что мне нужно изменить свою версию на 2.0 (20) или 1.5 (15) или 1.2 (12)-все это меньше 101, как вы можете видеть. Обновление моей версии номер 102 (без точек) Исправлена проблема.


в этой статье указывает, что номер версии, как видно в app-store, не обязательно совпадает с номером версии пакета. Когда вы просматриваете данные своего приложения в iTunes, есть ссылка с именем "двоичные данные". На этой странице показана версия пакета. Одно из приложений, над которым я работал, было в версии 1.0, но это версия пакета была 2.0. Загрузка пакета с версией 1.1 не удалась, но 2.1 сработал.

Итак, есть версия приложения и версия пакета. Этот проблема связана с версией пакета.


кажется, путаница вызвана числовым форматом. Версия пакета не является десятичной. Это версия (или, возможно, сборка), поэтому 1.11 на самом деле "один пункт одиннадцать". Следовательно, 1.11 больше 1.2. В этом случае я успешно использовал 1.20.


обычно это может быть вызвано отсутствием номера версии. Итак, добавьте номер версии под идентификатором, а также проверьте номер сборки .

enter image description here

Сохранить Кодирование......... :)


для меня (Xcode 4.5) изменение номера сборки решило проблему. установите версии 1.0.2 ... 2.0.2 и т. д. затем увеличьте build # (Adam 3 point дайте мне idia, где искать).


вы должны быть в состоянии войти в iTunes Connect и увидеть текущую версию приложения (в том числе любой Вы представили, но не живут). Убедитесь, что вы ранее не отправляли версию с более высоким (или тем же) номером версии.


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

В конце концов, это все-таки сделали свое дело. Моя старая версия была 1.0.4. Я попытался 1.3.5, 1.4.5 и т. д.; никто работал. Но удивительно, когда я вошел в 2.0.0, загрузчику приложений понравилось то, что он увидел и загрузил. Это связано с ошибкой в загрузчике приложений?


в сводке целей рядом с номером версии в xcode4-это сборка, я начал это с 1, я увеличиваю каждый раз, когда я делаю двоичную загрузку, это решило проблему для меня


Если сообщенная ошибка CFBundleVersion исправление обычно довольно легко. Проверьте / попробуйте это:

  1. перейдите к элементу проекта верхнего уровня в навигаторе проектов и нажмите на него.
  2. в панели просто щелкните правой кнопкой мыши на цели приложения.
  3. перейдите на вкладку сводка.

на вкладке сводка вы увидите, что есть две разные "версии", которые можно настроить. Первое-это поле "версия", которое используется в экране "о программе" по умолчанию для приложений Mac. Справа находится "версия сборки"."Это тот, который действительно имеет значение для представлений App Store!


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


обратите внимание на сообщение об ошибке.

сообщение об ошибке содержит предыдущий номер пакета в квадратных скобках (например, [9]).

таким образом, вам нужно увеличить этот номер пакета (например, 9.1), хотя ваш новый номер версии 1.2

поэтому при обновлении версии с 1.1 до 1.2 в iTunes Connect вам необходимо установить эти значения в своем проекте

Version number = 1.2
Bundle number = [previous bundle number]++

У меня есть iPhone и iPad версия в моем проекте, infoplist для ipad не был связан с продуктом ipad по какой-то причине, проверка целевого членства и связывание его с правильным продуктом решили эту проблему для меня.


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

надеюсь, что это помогает!


Я допустил ошибку, заменив "версию" и "сборку" нет.

вместо того, чтобы помещать 2.3 в поле версии, я помещаю его в сборку no.


вот как я исправил проблему (и я предполагаю, что это проблема со многими людьми):

1) Перейдите на вкладку Общие настроек ваших проектов (доступ к которой можно получить, нажав на имя вашего проекта, которое находится в верхней части всех файлов кода).

2) Убедитесь, что поле сборки соответствует тому, что вы положили в свой plist для ключа "версия пакета".

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


У меня была та же проблема и это произошло из-за того, что я не архивируются и я использовал первый архив, который я использовал для 1.0, но с 1.0.1. Поэтому я выбрал устройство iOS, архивировал и затем проверял. Та-дааа, сработало!


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


ни один набор постоянно увеличивающихся номеров версий не работал, пока я использовал "загрузчик приложений" Apple для загрузки моего файла ipa, но если я использовал "органайзер" XCode (найден под раскрывающимся окном в версии 3.2.5), нажмите "Проверить"..."кнопка, подождал, пока он одобрит меня, затем нажмите "Отправить"..."кнопка, все прошло, как ожидалось, с нормальным номером версии (один, который является одним шагом выше того, что в настоящее время доступно в app store).


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


Я нашел другое решение.

Если вы выберете цель> > info> > update Bundle ID.


У меня была та же проблема. Первая представленная версия была 1.5.20 и хотела обновиться до 1.7.30.

после неудачной попытки версий 1.8, 2.0 и 3.0 я обновил свой CFBundleVersion до 10.0, и внезапно это сработало.

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


проверьте версию пакета ранее загруженной версии, вы должны дать более высокую версию пакета по сравнению с версией пакета уже загруженной версии.Уже загруженную версию можно просмотреть с помощью itunesconnect/application/view details / binary details.


Я провел две ночи по аналогичной проблеме. Моя предыдущая версия была 1.02, и я попытался проверить 1.2, 1.20, 1.1, и я всегда получал недопустимое двоичное сообщение.

я решил это, введя 2.0 в качестве номера версии, и это сработало. Я подозреваю, что это тоже ошибка. Я не получил это сообщение при недавнем обновлении моей игры с 1.0 до 1.1, но это было с xcode 3. Спасибо за совет!


у меня была аналогичная проблема, и, проведя полчаса, я заметил, что увеличиваю неправильный номер. Вместо увеличения Bundle version я увеличивал Bundleversions, string, short in Info.файл plist. Поиск "CFBundleVersion" в вашем проекте с помощью CMD + Shift + F. Вы увидите, что вам нужно увеличить номер CFBundleVersion.


попробуйте изменить version= "1.1.1.0" на version= "1.1.1"


по состоянию на в конце октября Apple требует, чтобы номера версий были меньше 4 цифр (1.2.3 или 1.23 в отличие от 1.2.3.4 или 1.234). Это относится и к библиотекам!

быстрый grep для оскорбительного номера версии в каталоге проекта должен включить оскорбительную библиотеку:

grep -r "1.2.3.4" .


У меня была активная бета-версия TestFlight. строить 2020, версия 407

Я представил приложение для официальный App Store обзор. строить 2020, версия 435, и она была одобрена. Он просто сидит там, ожидая, когда я подтолкну его в прямом эфире в App Store.

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

Итак, я представил строить 2020, версия 436, для тестового полета, и он был отклонен.

Он был отклонен, потому что у меня есть утвержденный официальный кандидат App-Store с тем же номером сборки

решение: измените номер сборки вашей версии TestFlight. Я представлено построить 20200 (я добавил дополнительный ноль) версия 436 для TestFlight, и она была одобрена. Не волнуйтесь, вы все равно можете нажать эту сборку в ту же бета-группу TestFlight, пока вы все еще используете тот же BundleID.