CFBundleVersion в информации.ошибка загрузки файла plist
" загруженный двоичный файл был недействительным. Ключ CFBundleVersion в Информация.plist файл должен содержать более высокую версию, чем ранее загруженная версия."
Я получаю эту ошибку, когда я прихожу, чтобы загрузить Мои приложения.
Я установил обновленную версию в 1.2 на iTunes Connect, а также обновил до 1.2.
Я не понимаю, почему я получаю эту ошибку. Любая помощь будет оценена по достоинству. Спасибо.
30 ответов:
в сервере загрузки Apple есть по крайней мере 1 известная ошибка, которую они не исправляли более 12 месяцев. Вещи, чтобы остерегаться:
- Apple удаляет все ведущие нули внутри номера версии; т. е. "вся строка" не рассматривается как число, вместо этого биты между точками рассматриваются как отдельные числа. например, "1.02" рассматривается Apple как "1.2". Так, для Apple, 1.02 больше, чем 1.1
- Apple иногда "путается" и, кажется, сравнивает ваш uploaded-приложение для версии другого приложения, которое вы ранее загрузили. Это случилось со многими людьми, и я сам видел это несколько раз
- компания Apple, как предполагается, сравнивая "CFBundleVersion" (т. е. "пакет-версия", а не "пачка строку версии, короткое"); не перепутать.
- часто единственным жизнеспособным решением является удар переднего номера (например, "2 "в" 2.4 "- увеличьте его до"3")
- номер версии, который вы загружаете, не связан с номер версии, который появляется в iTunes - вы можете поместить туда все, что хотите, и это то, что ваши пользователи увидят
- ...кроме того, если вы также сообщаете "фактический" номер версии внутри вашего приложения, пользователь увидит CFBundleVersion (обычно, зависит от того, как вы его кодируете), а не версию iTunes (которая, я думаю, не может быть доступна из вашего приложения)
обновить номер сборки. Номер версии важен, но номер сборки имеет все значение. Например, у меня была моя начальная версия приложения как:
version #: 1.0 build #: 1.0
однако, когда я попытался загрузить следующую версию, т. е.
version #: 1.1 build #: 1.0
он не будет принимать загрузку. Просто увеличив build # до 1.1, загрузка была принята.
Xcode 4 будет думать, что вы хотите повторно загрузить ту же версию, если вы не повторно архивировать приложение. Даже если вы измените версию пакета и перестроите его, загрузка завершится неудачно. Не забудьте сделать "архиве" в меню продукта!
многие из ответов здесь в конечном итоге помогли мне, но это было не до тех пор, пока я не увидел точный номер "версии", который сравнивал Apple.
- перейдите в iTunes Connect - > Управление приложениями
- выберите приложение, которое вы хотите проверить предыдущую версию для
- нажать на синюю кнопку с надписью Посмотреть Подробнее
- нажмите на ссылку с надписью Двоичные Данные
- найти значение, заданное для Пакета Версии
несмотря на то, что я думал, что я представил номер версии 1.0.1, фактическое число, которое Apple хранила, было 101. Некоторые из приведенных выше комментариев заставили меня поверить, что мне нужно изменить свою версию на 2.0 (20) или 1.5 (15) или 1.2 (12)-это все меньше, чем 101, как вы можете видеть. Обновление моей версии номер 102 (без точек) Исправлена проблема.
в этой статье указывает, что номер версии, как видно в app-store, не обязательно совпадает с номером версии пакета. Когда вы просматриваете данные своего приложения в iTunes, есть ссылка с именем "Binary Details". На этой странице показана версия пакета. Одно из приложений, над которым я работал, было в версии 1.0, но это версия пакета была 2.0. Загрузка пакета с версией 1.1 не удалась, но 2.1 работал.
Итак, есть версия приложения и версия пакета. Этот проблема связана с версией пакета.
кажется, путаница вызвана числовым форматом. Версия пакета не является десятичной. Это версия (или сборка, возможно), поэтому 1.11 на самом деле "один пункт одиннадцать". Следовательно, 1.11 превышает 1.2. Я имел успех, используя 1.20 в этом случае.
Как правило, это может быть вызвано из-за отсутствия номера версии. Итак, добавьте номер версии под идентификатором, а также проверьте номер сборки .
Сохранить Кодирование......... :)
для меня (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 исправление, как правило, довольно легко. Проверьте / попробуйте это:
- перейдите к элементу проекта верхнего уровня в навигаторе проектов и нажмите на него.
- в панели просто щелкните правой кнопкой мыши на цели приложения.
- перейдите на вкладку сводка.
на вкладке сводка вы увидите, что есть две разные "версии", которые можно настроить. Первый-это поле "версия", которое используется в экране "о программе" по умолчанию для приложений 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 в поле Version, я помещаю его в Build no.
вот как я исправил проблему (и я предполагаю, что это проблема с большим количеством людей):
1) Перейдите на вкладку Общие настроек ваших проектов (доступ к которой можно получить, нажав на имя вашего проекта, которое находится в верхней части всех файлов кода).
2) Убедитесь, что поле сборки соответствует тому, что вы положили в свой plist для ключа "Bundle Version".
Это было проблемой для меня, по какой причине они были синхронизированы. Я думаю, когда ты меняешься Ключ версии Bundler он должен синхронизироваться (и наоборот). Но этого не произошло по какой - то причине-может быть, ошибка.
У меня была та же проблема и это произошло из-за того, что я не архивируются и я использовал первый архив, который я использовал для 1.0, но с 1.0.1. Поэтому я выбрал устройство iOS, заархивировал и затем проверил. Та-дааа, сработало!
У меня была та же проблема. В основном моя предыдущая версия была 1.12, я хотел изменить его на 1.2, но указанные ошибки. Я попробовал 1.20, и он действительно работал отлично
ни один набор постоянно растущих номеров версий не работал до тех пор, пока я использовал "загрузчик приложений" Apple для загрузки моего ipa-файла, но если я использовал "органайзер" XCode (найденный в раскрывающемся списке "окно" в версии 3.2.5), нажмите "Проверить"..."кнопка, ждал его, чтобы утвердить меня, а затем нажмите кнопку "Отправить..."кнопка, все прошло, как ожидалось, с нормальным номером версии (тот, который является одним шагом выше того, который в настоящее время доступен в магазине приложений).
в xcode 4.2, похоже, не регистрируют версию пакета, если вы изменяете информацию.plist файл. Я установил свою новую версию пакета непосредственно в панели xcode "информация", и теперь она работает!
У меня была та же проблема. Первая представленная версия была 1.5.20 и хотела обновить до 1.7.30.
после неудачной попытки версии 1.8, 2.0 и 3.0, я обновил свой CFBundleVersion до 10.0 и вдруг это сработало.
Я не уверен, что логика такого поведения, но это заставило меня тратить около 2 дней работы.
проверьте свою версию пакета ранее загруженной версии, вы должны дать более высокую версию пакета по сравнению с версией пакета уже загруженной версии.Уже загрузил версию можно посмотреть на itunesconnect/применение/вид деталей/двоичные данные.
Я провел две ночи по аналогичной проблеме. Моя предыдущая версия была 1.02, и я попытался проверить с 1.2, 1.20, 1.1, и я всегда получал недопустимое двоичное сообщение.
я решил это, введя 2.0 в качестве номера версии, и это сработало. Я подозреваю, что это тоже ошибка. Я не получил это сообщение при недавнем обновлении моей игры с 1.0 до 1.1, но это было с xcode 3. Спасибо за подсказку!
у меня была аналогичная проблема, и, проведя полчаса, я заметил, что увеличиваю неправильный номер. Вместо увеличения
Bundle version
я увеличивалBundleversions, string, short
в инфо.файл plist. Поиск "CFBundleVersion" в вашем проекте с помощью CMD + Shift + F. Вы увидите, что вам нужно увеличить номер CFBundleVersion.
по состоянию на в конце октября Apple требует, чтобы номера версий были меньше 4 цифр (1.2.3 или 1.23 в отличие от 1.2.3.4 или 1.234). Это относится и к библиотекам!
быстрый grep для оскорбительного номера версии в каталоге проекта должен включить оскорбительную библиотеку:
grep -r "1.2.3.4" .
У меня была активная бета-версия TestFlight. строить 2020, версия 407
Я представил приложение для официальный обзор магазина приложений. строить 2020, версия 435, и она была одобрена. Он просто сидит там, ожидая, когда я подтолкну его вживую в магазин приложений.
без добавления сложной побочной истории, что я хотел сделать, это дать моим пользователям бета-версии TestFlight обновленную версию для предварительного просмотра официальной версии магазина приложений для a несколько дней, прежде чем делать музыку живой. Почему, спросите вы? Поскольку они получали бесплатные функции, они собирались стоить денег, как только приложение будет жить.
Итак, я представил строить 2020, версия 436, чтобы проверить полет, и он был отклонен.
Он был отклонен, потому что у меня есть утвержденный официальный кандидат App-Store с тем же номером сборки
решение: измените номер сборки вашей версии TestFlight. Я представлено построить 20200 (я добавил дополнительный ноль) версия 436 для TestFlight, и он был одобрен. Не волнуйтесь, вы все равно можете нажать эту сборку в ту же бета-группу TestFlight, пока вы все еще используете тот же BundleID.