2014-09-30 4 views
15

Я пытаюсь отправить архив в магазин приложений со старым приложением, которое мне было дано. Я продолжаю получать две ошибки. CFBundleShortVersionString ключ должен быть в plist и больше беспокоит «пакет не содержит plist»Представление приложения iOS - архив не содержит info.plist

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

+0

в вашем "Build Settings" на вашей цели, что вы видите в разделе "Файл" Info.plist? –

+0

@ aus10c имя файла plist и несколько других настроек. Что я ищу? – JMD

+0

Я просто собирался сказать то же самое, что написал ev0lution :) –

ответ

2

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

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

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

+0

Значение в разделе «Упаковка» - это «appName-plist». Нет пути. Однако plist находится в некоторых подкаталогах проекта. Этот путь будет «MyApp/MyApp-Info.plist», поэтому я добавлю первую часть и посмотрю, работает ли она. – JMD

+0

@JMD Если она находится в подкаталогах (фактические каталоги, а не только группы Xcode), то я считаю, что они должны быть префиксны путь. Я не слишком уверен в том, что делает Xcode в настоящее время, но он использовал для создания файла plist внутри папки AppName, которая была включена в настройку Info.plist. Я протестировал ее именно тогда и без имени папки , файл plist не найден. – ttarik

+0

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

0

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

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

Чтобы быть экстра-конечно, сделать

  • экспортировать архив в вопросе для Времнного распределения
  • разархивировать * .ipa файлу
  • Осмотреть Payload/your.app/info.plist файл
  • проверить, содержит ли он CFBundleShortVersionString
4

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

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

1

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

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

Благодаря

0

для меня, я дублируюсь на объект некоторое время назад и параметры сборки были ссылки на несуществующую двоичную «MYAPP копии»

3

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

+0

Столкнувшись с этим сегодня – Sandeep

0

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

  1. Установите https://github.com/nomad/shenzhen
  2. Создать IPA: ипа построить
  3. Отправить IPA: ипа распространения: 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 файл приложения Bundle должен быть один из [APPL].»

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

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

0

Вам не нужно редактировать файл plist. Просто установите Номер сборки (справа от номера версии в Targets - General). в файл plist как Bundle Version.

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

0

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

1

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

Смежные вопросы