Представление приложения iOS - архив не содержит info.plist

Я пытаюсь отправить архив в магазин приложений со старым приложением, которое мне было дано. Я продолжаю получать две ошибки. Ключ CFBundleShortVersionString должен быть в plist и больше беспокоит "пакет не содержит plist"

Оба эти элемента существуют в приложении. Я добавил ключ CFBundleShortVersionString в plist, и файл plist определенно существует, или я никогда не смог его построить. В чем проблема?

Ответы

Ответ 1

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

Во-первых, убедитесь, что ваш файл plist существует в вашем навигаторе проекта и что он не подсвечен красным. (если он был удален или переименован на диск по какой-либо причине)

В своем проекте в Xcode выберите целевое приложение и выберите вкладку "Настройки сборки". Найдите "plist" для фильтрации результатов. В разделе "Упаковка" проверьте значение "Info.plist". Это должно быть имя вашего файла plist, относительно вашего проекта Xcode. Например, "MyApp/MyApp-Info.plist". Если он пуст, измените его на имя вашего файла plist и перестройте.

Ответ 2

У меня была та же проблема.

Я просто добавил новую строку с ключом Bundle versions string, short в Info.plist с версией для значения, а затем прошел проверку без дальнейших ошибок.

Ответ 3

В моем случае у меня была неправильная/ошибочная запись в файле info.plist для имени исполняемого файла, я заменил его на ${EXECUTABLE_NAME}, и это устранило проблему.

Ответ 4

У меня уже есть "Bundle versions string, short" в моем info.plist, но проблема для меня была "Отображаемое имя Bundle" не в info.plist, поэтому я добавил, что он работает.

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

Спасибо

Ответ 5

Когда у вас есть расширения приложения, встроенные в ваше приложение, вы должны проверить (включить) целевое членство MainApp-Info.plist на те расширения приложений, а также основное приложение. Сделайте это в инспекторе файлов Xcode.

Ответ 7

У меня была та же проблема с теми же двумя сообщениями об ошибках. Info.plist был фактически в пакете, но он не содержал CFBundleShortVersionString. Первая ошибка (Архив не содержит Info.plist) присваивается системой Apple по ошибке.

В моем случае у меня было несколько целей в проекте, и я добавил CFBundleShortVersionString к неправильной цели (не той, которую я проверял с Apple).

Чтобы быть уверенным, сделайте

  • экспортировать архив, о котором идет речь, для распределения ad-hoc
  • распаковать файл *.ipa
  • Осмотреть файл Payload/your.app/Info.plist
  • Проверьте, содержит ли он CFBundleShortVersionString

Ответ 8

для меня, я дублировал цель в то время, а настройки сборки ссылались на несуществующую двоичную "копию myApp"

Ответ 9

Мне удалось получить значимую ошибку от пользователя:

  • Установить https://github.com/nomad/shenzhen
  • Создать IPA: ipa build
  • Отправить IPA: ipa distribute: itunesconnect -e -w -a ACCOUNT_NAME -p PASSWORD -f./AppName.ipa -i APPLE_ID_OF_THE_APP --verbose

Сделав это, я получил следующую ошибку: ERROR ITMS-90183: "Код типа Invalid Bundle OS. Значение" Код типа Bundle OS "[CFBundlePackageType] в вашем пакете приложений. Файл Info.plist должен быть одним из [APPL]."

Добавлен CFBundlePackageType, и мое приложение прошло проверку!

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

Ответ 10

Вам не нужно редактировать файл plist. Просто установите номер сборки (прямо под номером версии в "Цели - общие" ). Это будет распространяться в файл plist как Пакетная версия.

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

Ответ 11

Убедитесь, что Target Membership (в Инспекторе файлов) для Info.plist показывает ваш проект. В моем случае это не так. При нажатии на флажок были решены обе проблемы.