Xcode ERROR ITMS-90783: «Отсутствует отображаемое имя пакета»

98

Сегодня я начал получать эту ошибку с fastlane и Xcode:

ОШИБКА ITMS-90783: «Отсутствует отображаемое имя пакета. Ключ Info.plist CFBundleDisplayName отсутствует или имеет пустое значение в пакете с идентификатором пакета 'com.id'».

Это было нормально, и я не удалял это свойство. Я думаю, что это ошибка Apple.

Есть ли у кого-нибудь такая же проблема и как вы ее исправляли?

Ник Ков
источник
Привет, @NikKov, я думаю, вы можете вручную изменить значение $ {PROJECT.ROOT} в target info.plist на свой идентификатор пакета. Просто скопируйте свой bundleId вручную и вставьте его.
emrcftci
Вроде больше не требуется. Я забыл добавить его для одного из моих обновлений, и отправка была рассмотрена.
Oded

Ответы:

153

введите описание изображения здесьПросто добавьте новое свойство в info.plist:

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
Алексей Шиков
источник
1
Да, это работает, и это не сработает, даже если у меня есть CFBundleDisplayName в 'InfoPlist.strings', так что это должна быть невидимая модификация Apple на сервере.
Roxasora 02
@Jameo, можешь указать нам на требование? Это от Apple или Fastlane?
dev
@dev, похоже, это требование Apple. Apple, похоже, вносит некоторые изменения в AppStoreConnect, связанные с iOS 13
Jameo
Это где-нибудь задокументировано Apple?
Kampai 04
Я вижу, что и $ (PRODUCT_NAME), и $ {PRODUCT_NAME} определены в info.plist, созданном Xcode. Что действительно, или они оба действительны?
Igotit 04
12

Откройте «info.plist» из папки вашего проекта.

И добавьте ключ: " Отображаемое имя пакета " илиCFBundleName

и напишите значение: "название вашего приложения" . или добавьте название продукта, подобное этому$(PRODUCT_NAME)

Пример ключевого значения

<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>

Тогда ваша проблема будет решена!

введите описание изображения здесь

Митико Ои Фукао
источник
10

В Xcode вы можете добавить «Отображаемое имя», следуя иллюстрации ниже. введите описание изображения здесь

Лай Ли
источник
9

У меня тоже проблема. Хотя у нового проекта это есть в info.plist:

<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>

Это сломалось для меня в последние несколько дней. Теперь я жестко кодирую CFBundleName для имени приложения, и, похоже, это работает.

Том Кондон
источник
5

Просто перейдите в Info.plist и проверьте, есть ли запись для CFBundleDisplayName Если его там нет, то: Откройте исходный код вашего Info.plist и добавьте это

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>

Теперь попробуйте архивировать, на этот раз у вас все получится. Это новое требование введено 5-7 дней назад.

Ура !!

Анкит Кумар Гупта
источник
как мне узнать о таких изменениях / требованиях?
Awais Fayyaz 05
У нас не может быть информации обо всех незначительных изменениях. Это всплывает по мере продолжения процесса.
Анкит Кумар Гупта
3

Я тоже получаю эту ошибку. Неделю назад этого не происходило. Я попытался ввести имя пакета в Идентификатор пакета, но это не сработало. Пришлось фактически вставить $ (PROJECT.ROOT) в элемент идентификатора пакета в info.plist, повторно заархивировать, а затем загрузить в магазин приложений.

Если это не сработает, есть другое возможное решение. Похоже, что Apple может требовать, чтобы в запись в список «Имя пакета» было добавлено значение $ (PRODUCT_NAME). Если у вас его нет в вашем info.plist, вам нужно будет добавить его, а затем повторите попытку.

Уилл Баффингтон
источник
3

Я просматривал ответы здесь, и когда я проверил свой файл, он выглядел так, как должен быть, я не касался файла info.plist несколько дней. Потом я кое-что заметил вместо того, чтобы $(PRODUCT_NAME)это было ${PRODUCT_NAME). Как ни странно, там была фигурная скобка. Поскольку я использую 2 файла info.plist для разных целей, я решил проверить, есть ли в другом фигурная скобка, и это так.

Кастро Зелитини
источник