BŁĄD ITMS-9000: „Nadmiarowe przesyłanie binarne. Istnieje już przesyłanie binarne z wersją kompilacji „1.0” dla pociągu „1.0” ”

207

Próbuję przesłać moją wersję na iTunes Connect przez Xcode 5.1.1, ale ciągle pokazuje, że się ładuje i aplikacja się nie ładuje. Próbowałem więc przesłać za pomocą modułu ładującego aplikacje, ale wyświetla się następujący błąd:

BŁĄD ITMS-9000: „Nadmiarowe przesyłanie binarne. Istnieje już przesyłanie binarne z wersją kompilacji„ 1.0 ”dla pociągu„ 1.0 ””

Status aplikacji w iTunes czeka na przesłanie. Pewnego razu przesłanie zakończyło się pomyślnie, ale status nie jest odzwierciedlony, a teraz pozwala na ponowne przesłanie.

Właśnie sprawdziłem, czy strona internetowa również się zmieniła. Nie wiem co jest nie tak.

EDYTOWAĆ

Nie było przycisku przesyłania do przeglądu na nowej stronie jabłek. Ale teraz widzę ten przycisk. To rozwiązało mój problem. Polecam również przesłać kompilację za pomocą modułu ładującego aplikacje, ponieważ jest szybszy niż organizator.

Dhara
źródło
7
Jabłko takie szalone teraz. Strona internetowa Ituneconnect również się zmienia. Zatrzymałem się 1 godzinę, aby rozejrzeć się po tej stronie w celu zaktualizowania nowej wersji mojej aplikacji.
Sovannarith,
@chhi, czy udało Ci się wgrać wersję na iTunes?
Dhara,
2
Mam ten sam problem. Musiałem odrzucić mój plik binarny po znalezieniu problemu, który naprawiłem i próbowałem przesłać zastępczy plik binarny. Zalogowałem to za pomocą Apple Bug Reporter. (# 18257715). Poinformuj nas, że masz również ten problem, aby nadali mu priorytet.
Brennan,

Odpowiedzi:

369

Więcej niż jeden plik binarny może zostać przesłany do App Store Connect dla tej samej wersji, jeśli liczba kompilacji rośnie z każdą kompilacją przesłaną do iTunesConnect. Numer kompilacji musi być unikalny (i wyższy) dla każdego przesyłanego pliku binarnego (wybierz Cel, a następnie Xcode -> Ogólne -> Kompilacja, patrz rysunek poniżej). Na przykład na poniższym obrazie przesłana kompilacja ma wersję 3.1.4 (3.75 na starszym obrazie), a numer kompilacji to 1 . Dlatego po przesłaniu tego obrazu zwiększ kompilację do minimum 2 lub wyższej . Następnie ten plik binarny można również przesłać do App Store Connect, ponieważ jest to późniejsza kompilacja zgodnie z build number.

versionOdnotowuje handlowej wersji aplikacji Twój uwalniającego dla użytkownika. build numberUwagi końcowe kompilacji binarnego przesłanym do sklepu, czyli po wielu poprawek.

Po Xcode 9 nie można przesłać nowej kompilacji (dla tej samej wersji), jeśli w sklepie jest poprzednia kompilacja o tym samym numerze. Sprawdź więc numer kompilacji i zwiększ, jeśli nie jesteś pewien.

EDIT: To jest bardziej poprawna w użyciu 1, 2, 3, 4, itd. Dla numeru kompilacji, ale numer wersji musi się zwiększać, 1.0 -> 1.1 -> 1.2 itd. Numer kompilacji musi być wyższa niż to, co zostało przedstawione wcześniej dla ten sam numer wersji, jeśli nie, pojawi się błąd. Tak więc, jeśli zostanie przesłany nowy plik binarny, który ma wersję 3.75, a kompilacja 1 została już przesłana, następna kompilacja będzie mieć wersję 2 lub wyższą, ale wersja nadal może pozostać 3,75.

Nowy zaktualizowany i zalecany sposób nadawania numerów kompilacji szeregowych : wprowadź opis zdjęcia tutaj

Starsze zdjęcie pasujące do poniższego: Pokazuje, gdzie ustawić wersję kompilacji w XCode

Po przesłaniu i przetworzeniu nowego pliku binarnego (czas przetwarzania ok. 5-20 min, jeśli nie pojawi się ponownie przesyłanie i czekanie), możesz wybrać nowy plik binarny i przesłać go do recenzji. Na poniższym obrazku możesz zobaczyć stary i nowy plik binarny wymieniony w App Store Connect w sekcji Kompilacja bieżącej wersji aplikacji (kliknij znak plus). Następnie wybierany jest nowy plik binarny -> Saved-> Submit for Review. (Czasami pojawia się błąd podczas przesyłania, a następnie spróbuj po kilku minutach lub prześlij nowy plik binarny).

Wyświetlanie listy plików binarnych w iTunesConnect

Dla osób skłonnych do robienia tego automatycznie za pomocą skryptu Xcode, oto opis tworzenia automatycznego skryptu do aktualizacji numerów kompilacji Lepszy sposób na zwiększenie numeru kompilacji?

Sverrisson
źródło
1
Dzięki, udało mi się obejść ten błąd, zmieniając numer kompilacji na format YYYYMMDDggmm, który mogę aktualizować za każdym razem, gdy wypycham nową kompilację do App Store z bieżącą datą i godziną. Chciałbym jednak zautomatyzować zmianę numeru kompilacji.
Brennan
@Brennan Dodałem link do instrukcji dotyczących automatycznego zwiększania liczby kompilacji.
Sverrisson
@HannesSverrisson, co polecasz tym z nas, którzy już używają trzech części w naszych numerach wersji?
Simon
@ Simon Myślę, że trzeba by dodać kompilację jako czwartą część. Klient nigdy nie zobaczy numeru kompilacji w App Store.
Sverrisson
@HannesSverrisson, ale nie możemy już używać czwartej części!
Simon
29

Nie wiem, dlaczego ludzie umieszczają floatnumer kompilacji.

Moim zdaniem standardowy sposób polega na integerwpisaniu numeru kompilacji i wersji floatlub dotted string.

to znaczy

     Version: 1.0.0
     Build: 2

wprowadź opis zdjęcia tutaj

atulkhatri
źródło
5
W pełni się zgadzam. Wszystkim tym osobom używającym tego samego numeru w obu polach naprawdę brakuje sensu. Numer wersji to wersja publiczna, którą chcesz wydać. Numer kompilacji to wewnętrzny, no, numer kompilacji! Zwiększa się za każdym razem, gdy budujesz aplikację do testowania, więc masz odniesienie do śledzenia błędów, które zmieniają się za każdym razem, gdy robi to kod. Właśnie dlatego lot testowy zawiera listę twoich kompilacji w taki sposób. Na przykład. Wersja 1.0.0 (2) Zależy od Twojej firmy, w jaki sposób zbudujesz numer kompilacji. Czasami etapy testowania wymagają oddzielnych poziomów, więc pływaki też są w porządku.
Simon Tillson
Nie mógłbym się z tobą bardziej zgodzić. Przekonasz się, że jest to domyślna strategia Xcode, jeśli tworzysz zupełnie nowy projekt.
DawnSong,
15

Musisz tylko zmienić Kompilację i jej wersję. W sklepie wersja na żywo: 1.1 W przypadku przesyłania nowej wersji: 1.2 (tutaj, jeśli nie uda się przesłać w wersji 5.1.1 lub wcześniejszej), należy ponownie przesłać, aby nowe przesyłanie było: 1.3

Teraz przejdź do logowania do konta iTunesconnect Aplikacje> Wybierz aplikację> W sekcji Kompilacja usuń starą, klikając (-) ponownie wybierz, klikając (+) tutaj zobaczysz wszystkie kompilacje wybierz ostatnią, a następnie Gotowe, Zapisz ją, a następnie prześlij do recenzji. Sprawdź także załączony zrzut ekranu. wprowadź opis zdjęcia tutaj

ALPESH PATOLIYA
źródło
4
Chcę wgrać 1.01, a nie 1.02. Co mam teraz zrobić?
Sam
Mam ten sam problem. Chociaż mam dwie wersje i nie mam przycisku przesyłania do sprawdzenia. Czy rzeczywiście otrzymałeś przycisk Prześlij do recenzji po kliknięciu wersji 1.4?
neelabh
@neelabh tak, wydaje się, że czeka na recenzję. po przesłaniu 1.4
ALPESH PATOLIYA
@ użytkownik 28 dla wersji aktualizacji, musisz zmienić wersję. zrób to 1.02
ALPESH PATOLIYA
13

Zdecydowanie nie można usunąć starej wersji z iTunes Connect przed przesłaniem jej nowszej wersji. Interfejs iTunes Connect nie jest tak zaawansowany dla tej operacji.

Ale tak naprawdę nie musisz go usuwać (pozwól Apple wziąć to dla siebie, jeśli im się podoba). Musisz zmienić numer kompilacji (nie numer wersji) i przesłać go ponownie.

Na przykład, jeśli masz wersję 1.0 z kompilacją 1.0, zmień numer kompilacji na 1.0.1 i pozostaw wersję w wersji 1.0. Następnie prześlij go - a iTuned Connect zaakceptuje nowszą wersję. Cała reszta jest dość oczywista. Powodzenia!

Kibernetik
źródło
1
Problem polega na tym, że niektóre biblioteki i frameworki używają numeru kompilacji jako numeru wersji.
Genki
10

Zauważyłem, że Apple zajmuje dużo czasu, zanim kompilacja staje się dostępna do przesłania. Przesłałem moją kompilację kilka razy, zanim mogłem ją wybrać. Do tego czasu moja kompilacja była nieprawidłowa, ponieważ ta sama wersja kompilacji była kilka razy na serwerze i otrzymałem wiadomość „Redundant Binary Upload”.

W moim przypadku mogłem wybrać nowy plik binarny 15 minut po przesłaniu kompilacji (z nowym numerem kompilacji) z Xcode.

kees
źródło
Więc co zrobiłeś, kiedy dostałeś „Redundant Binary Upload”. Ponieważ dostałem podobną pocztę od Apple, a moja aplikacja pokazuje „Czekam na recenzję”
Ekra
W moim przypadku myślę, że to jest powód, dla którego widzę moje wszystkie przesłane filmy w zakładce „kompilacje” na iTunes Connect ... mimo że czekam 50 minut i nadal nic ... mam nadzieję, że w następnych godzinach nie dostanę moje kompilacje włączają się na karcie wersji, więc mogę przesłać do sprawdzenia
d1jhoni1b
W moim przypadku zajęło to ponad 45 minut, ale był to główny powód, dla którego wydaje się, że istnieje ogromne opóźnienie między każdym przesyłaniem z XCode do iTunes Connect
d1jhoni1b
10

Próbowałem zwiększyć liczbę kompilacji do 3 miejsc po przecinku (np. 1.5.1) i nadal dostałem nadmiarowy błąd binarny. Po dodaniu jeszcze jednego miejsca po przecinku (np. 1.5.1.0) zadziałało!

Zrzut ekranu moich ustawień:

http://i.stack.imgur.com/daKBA.png

użytkownik3730468
źródło
1
Dla mnie zadziałał tylko trzypoziomowy numer wersji. Jedyne, co zauważyłem, to to, że 1.1.0jest traktowane jako 1.1. Musiałem więc spróbować 1.1.1zamiast1.1.0
Adil Malik
8

Muszę cię ostrzec, że prawie wszystkie odpowiedzi tutaj (w tym jedna zaakceptowana) promują niekonwencjonalny sposób numerowania kompilacji.

To nie jest krytyczne, ale zawsze lepiej trzymać się konwencji, więc zachęcam do zapoznania się z tą odpowiedzią, aby dowiedzieć się, jak numerować swoje kompilacje.

I tak, odpowiadając na pierwotne pytanie, wszystko co musisz zrobić, to zwiększyć numer kompilacji. Poprawnie .

nalexn
źródło
5

Właśnie przeszedłem ten sam problem. Niestety utworzyłem wersję 1.0.1 mojej aplikacji i przesłałem plik binarny z tą samą wersją, która została odrzucona jako nieprawidłowa. Nie mogłem później odrzucić pliku binarnego z systemu, więc najpierw musiałem dowiedzieć się, jaki był powód odrzucenia, a następnie zmienić wersję aplikacji na 1.0.2 zarówno w iTunes Connect, jak i nowym przesłanym pliku binarnym z poprawnym poprawki kodu. Teraz siedzi w oczekiwaniu na sprawdzenie.

Pierwsze 3 razy próbowałem tego, plik binarny został prawie natychmiast odrzucony. Około 2 godzin zajęło mi ustalenie przyczyny odrzucenia, którą było usunięcie „arm64” z Ważnych Architektur. Mam nadzieję, że to Ci pomoże.

Rodney Gracia
źródło
4

Po prostu zwiększyłem najpierw numer wersji w iTunes Connect. To pozwoliło mi przesłać nową wersję pliku binarnego i nie miałem problemów.

książki
źródło
4

Chciałem przesłać wersję 2.4mojej aplikacji i dostałem dokładnie ten komunikat o błędzie. To był pierwszy przekaz wersji i na pewno nie było pliku binarnego na iTunesConnect.

Mogłem łatwo rozwiązać ten problem, zmieniając wersję kompilacji z 2.4na 2.4.0. Nie ma potrzeby zwiększania wersji. Wydaje mi się, że iTunes spodziewa się trzyczęściowego numeru wersji dla wersji kompilacji.

codingFriend1
źródło