Представление приложения 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.
Ответ 6
Apple опубликовала технический документ, в котором перечислены возможные проблемы, которые могут вызвать это. На сегодняшний день:
- отсутствует CFBundlePackageType
- отсутствует CFBundleShortVersionString
- отсутствует CFBundleVersionString
Ответ 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 показывает ваш проект. В моем случае это не так. При нажатии на флажок были решены обе проблемы.