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

CFBundleVersion должен быть выше, чем предыдущая версия

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

This bundle is invalid. The key CFBundleVersion in the Info.plist file must 
contain a higher version than that of the previously uploaded version.

iTunesConnect показывает, что это приложение в настоящее время находится в 1.0, и я настроил его, чтобы он был готов загрузить версию 1.1 (снимок экрана с иконками приложений):

iTunes Connect Screenshot

Вот скриншот моей итоговой информации о целевом приложении, которая показывает версию и короткую версию: "1.1":

enter image description here

Вот верхняя половина Info.plist из архива Bundle:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AppStoreFileSize</key>
    <integer>20859080</integer>
    <key>ApplicationProperties</key>
    <dict>
        <key>ApplicationPath</key>
        <string>Applications/MyApp.app</string>
        <key>CFBundleIdentifier</key>
        <string>com.mydomain.myapp</string>
        <key>CFBundleShortVersionString</key>
        <string>1.1</string>

И вот соответствующий фрагмент Info.plist из приложения в комплекте с архивом:

<key>CFBundleShortVersionString</key>
<string>1.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
    <string>iPhoneOS</string>
</array>
<key>CFBundleVersion</key>
<string>1.1</string>

Все номера версий в моем обновленном приложении говорят 1.1, iTunesConnect говорит, что он ожидает 1.1... но он жалуется, что номер неверен.

Что мне не хватает?

4b9b3361

Ответ 1

Оказывается, у меня возникла некоторая проблема в моем исходном представлении, из-за которого видимая пользователем версия была "1.0", а внутренняя версия пакета - "1.2". Поэтому я изменил свою новую версию на 1.3 и 1.3, и работа была выполнена.

enter image description here

Ответ 2

FYI. Apple думает 1.11 > 1.2, поэтому, если вы собираетесь с 1.11 до 1.2, вам нужно пройти весь путь до 1.20.

Enjoy.

Ответ 3

То же самое случилось со мной. Моя текущая версия App Store была 2.03. Я попытался загрузить 2.1. Все, что мне нужно было сделать, это изменить его на 2.10, и это сработало.

Ответ 4

Увеличение значения CFBundleShortVersionString или "Bundle version string, short" выполнило задание для меня.

Ответ 5

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

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

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

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

Ответ 6

Это может быть вызвано по другой причине.

У меня была активная бета-версия 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.