Xcode ERROR ITMS-90783: „Missing bundle display name”

98

Dzisiaj zacząłem otrzymywać ten błąd z fastlane i Xcode:

BŁĄD ITMS-90783: "Brak wyświetlanej nazwy pakietu. Brak klucza Info.plist CFBundleDisplayName lub ma on pustą wartość w pakiecie z identyfikatorem pakietu 'com.id'."

Było ok i nie usunąłem tej właściwości. Myślę, że to błąd po stronie Apple.

Czy ktoś ma ten sam problem i jak to naprawiłeś?

Nik Kov
źródło
Cześć @NikKov, myślę, że możesz ręcznie zmienić wartość $ {PROJECT.ROOT} w docelowym info.plist na identyfikator pakietu. Po prostu skopiuj swój bundleId ręcznie i wklej go.
emrcftci
Wygląda na to, że nie jest to już potrzebne. Zapomniałem dodać go do jednej z moich aktualizacji, a zgłoszenie przeszło do oceny.
Oded

Odpowiedzi:

153

wprowadź opis obrazu tutajPo prostu dodaj nową właściwość do info.plist:

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
Alexey Shikov
źródło
1
Tak, to działa i nie zadziała, nawet jeśli mam CFBundleDisplayName w „InfoPlist.strings”, więc musi to być niewidoczna modyfikacja Apple na serwerze.
Roxasora
@Jameo Czy możesz wskazać nam wymagania? Czy to od Apple czy Fastlane?
dev
@dev wydaje się, że jest to wymaganie firmy Apple. Wygląda na to, że Apple wprowadza pewne zmiany w AppStoreConnect związane z iOS 13
Jameo,
Czy jest to gdziekolwiek udokumentowane przez Apple?
Kampai
Widzę, że zarówno $ (PRODUCT_NAME), jak i $ {PRODUCT_NAME} są zdefiniowane w info.plist wygenerowanej przez Xcode. Który jest ważny, czy też oba?
Igotit
12

Otwórz „info.plist” z folderu projektu.

I dodaj klucz: „ Nazwa wyświetlana pakietu ” lubCFBundleName

i wpisz wartość: „nazwa Twojej aplikacji” . lub dodaj taką nazwę produktu$(PRODUCT_NAME)

Przykład wartości klucza

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

Wtedy twój problem zostanie rozwiązany!

wprowadź opis obrazu tutaj

Michiko Oi Fukao
źródło
10

W Xcode możesz dodać „Wyświetlaną nazwę”, postępując zgodnie z poniższą ilustracją. wprowadź opis obrazu tutaj

Lai Lee
źródło
9

Ja też mam problem. Chociaż nowy projekt ma to w swoim info.plist:

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

Zepsuło się to dla mnie w ciągu ostatnich kilku dni. Teraz twardo koduję CFBundleName do nazwy aplikacji i wydaje się, że działa.

Tom Condon
źródło
5

Po prostu przejdź do Info.plist i sprawdź, czy jest tam wpis CFBundleDisplayName Jeśli go tam nie ma: Otwórz kod źródłowy swojego Info.plist i dodaj to

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

Teraz spróbuj zarchiwizować, tym razem ci się uda. Jest to nowy wymóg wprowadzony 5-7 dni wstecz.

Twoje zdrowie!!

Ankit Kumar Gupta
źródło
skąd mam wiedzieć, że jestem zaawansowany na temat tego rodzaju zmian / wymagań?
Awais Fayyaz,
Nie możemy mieć informacji o wszystkich drobnych zmianach. Pojawia się to w miarę postępów w procesie.
Ankit Kumar Gupta
3

Też otrzymuję ten błąd. Nie działo się to tydzień temu. Próbowałem wprowadzić nazwę pakietu w identyfikatorze pakietu, ale to nie zadziałało. Musiał faktycznie wkleić $ (PROJECT.ROOT) w pozycji identyfikatora pakietu w info.plist, ponownie zarchiwizować, a następnie przesłać do sklepu z aplikacjami.

Jeśli to nie zadziała, istnieje inne możliwe rozwiązanie. Wygląda na to, że firma Apple może wymagać dodania wpisu plist „Nazwa pakietu” o wartości $ (PRODUCT_NAME). Jeśli nie masz tego w swoim info.plist, musisz go dodać i spróbować ponownie.

Will Buffington
źródło
3

Przeglądałem tutaj odpowiedzi i kiedy sprawdziłem plik, który wyglądał na taki, jaki powinien, nie dotykałem pliku info.plist od kilku dni. Wtedy zauważyłem coś, zamiast $(PRODUCT_NAME)miałem ${PRODUCT_NAME). Co dziwne, był nawias klamrowy. Ponieważ używam 2 plików info.plist dla różnych celów, postanowiłem sprawdzić, czy drugi zawiera również nawias klamrowy i tak się stało.

Castro Zwelithini
źródło