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

CFBundleVersion в ошибке загрузки Info.plist

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

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

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

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

4b9b3361

Ответ 1

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

  • Apple удаляет все ведущие нули внутри номера версии; т.е. "целая строка" НЕ обрабатывается как число, вместо этого биты между точками рассматриваются как ОТДЕЛЬНЫЕ числа. например "1.02" обрабатывается Apple как "1,2". Итак, для Apple, 1.02 - БОЛЬШЕ ЧЕМ 1.1
  • Apple иногда получает "путаницу" и, похоже, сравнивает ваше загруженное приложение с версией приложения DIFFERENT, которое вы ранее загружали. Это случилось с большим количеством людей, и я видел это сам несколько раз.
  • Предполагается, что Apple будет сравнивать "CFBundleVersion" (т.е. "Bundle version", а не "Bundle version string, short" ); не перепутайтесь.
  • Чаще всего единственное жизнеспособное решение состоит в том, чтобы выбить передний номер (например, "2" в "2.4" - увеличить его до "3" )
  • Выбранный номер версии не связан с номером версии, отображаемым в iTunes, - вы можете поместить все, что хотите, и что ваши пользователи будут видеть
  • ... кроме того, если вы также сообщаете "фактический" номер версии внутри вашего приложения, пользователь увидит CFBundleVersion (обычно, зависит от того, как вы его кодируете), а не версию iTunes (которая, я думаю, не может доступ изнутри вашего приложения)

Ответ 2

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

version #: 1.0
build #:   1.0

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

version #: 1.1
build #:   1.0

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

Ответ 3

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

Ответ 4

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

  • Перейдите в iTunes Connect → Управление вашими приложениями
  • Выберите приложение, которое вы хотите проверить в предыдущей версии для
  • Нажмите на синюю кнопку с надписью "Просмотреть детали"
  • Нажмите ссылку с надписью Binary Details
  • Найдите значение, указанное для версии Bundle

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

enter image description here

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

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

  • Перейдите к элементу проекта верхнего уровня в Навигаторе проектов и нажмите на него.
  • На панели справа щелкните по целевому назначению приложения.
  • Перейдите на вкладку сводки.

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

Ответ 13

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

Ответ 14

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

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

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

Поэтому, когда вы обновляете версию с 1.1 до 1.2 в iTunes Connect, вам нужно установить эти значения в своем проекте

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

Ответ 15

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

Ответ 17

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

Вместо того, чтобы помещать 2.3 в поле Version, я помещаю его в Build no.

Ответ 18

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

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

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

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

Ответ 19

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

Ответ 20

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

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

Ответ 21

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

Ответ 22

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

Ответ 23

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

Ответ 24

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

Если вы выбрали свой целевой → info → update Bundle ID.

Ответ 25

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

После безуспешных попыток версий 1.8, 2.0 и 3.0 я обновил мою CFBundleVersion до 10.0 и неожиданно сработал.

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

Ответ 26

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

Ответ 27

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

Ответ 28

Попробуйте изменить версию = "1.1.1.0" на версию = "1.1.1"

Ответ 29

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

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

grep -r "1.2.3.4" .

Ответ 30

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

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

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

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

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

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