Ostrzeżenie Xcode: "wiele poleceń kompilacji dla pliku wyjściowego"

Dostaję taki błąd:

[WARN]Ostrzeżenie: wiele poleceń kompilacji dla pliku wyjściowego / Developer/B/Be/build/Release-iphonesimulator / BB.app/no.png

[WARN]Ostrzeżenie: wiele poleceń kompilacji dla pliku wyjściowego / Developer/B/Be/build/Release-iphonesimulator / BB.app / d.png

[WARN]Ostrzeżenie: wiele poleceń kompilacji dla pliku wyjściowego / Developer/B/Be/build/Release-iphonesimulator / BB.app / N. png

Ale sprawdziłem Xcode i nie widzę żadnych duplikaty takich plików w ogóle. Jak mówi Ten post na listach mailingowych Apple, nie ma duplikatów.

Author: john.k.doe, 2010-04-27

18 answers

W Nawigatorze projektów wybierz Plik projektu Xcode. To pokaże Ci ustawienia projektu, jak również cele w projekcie. Poszukaj w fazie budowania "Kopiuj zasoby pakietu". Powinieneś znaleźć pliki obrażające na tej liście dwa razy. Usunąć duplikat odniesienia.

Xcode skarży się, że próbujesz połączyć ten sam plik ze swoją aplikacją dwa razy.

 786
Author: Mark Suman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-08 14:12:04

Jest to łatwo spowodowane, gdy dodajesz podprojekty oparte na git. Xcode nie jest wystarczająco inteligentny, aby zignorować .podfolder git nawet jeśli nie możesz go zobaczyć z Findera, więc będzie bardzo zdezorientowany, że istnieje wiele plików o nazwie "master" lub "exclude"(standardowe pliki repo git). W xcode4 przejdź do projektu (korzeń lewego drzewa), a następnie kliknij cel aplikacji i rozwiń "Kopiuj zasoby pakietu", a następnie usuń wszystkie odniesienia do .git, i tak nie powinieneś ich piec w swojej aplikacji.

 124
Author: slf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-12 20:05:47

Właściwie odpowiedź na to pytanie jest bardzo prosta.

W Xcode Wyszukaj pliki, które wywołują Ostrzeżenie i po prostu je usuń.

Xcode pokaże tylko jedno odniesienie do tego pliku w wynikach wyszukiwania, ale nie zatrzymuj się na tym, śmiało i usuń go. (lepiej zrobić kopię zapasową pliku projektu przed operacją usuwania)

Teraz zrób kompilację, zobaczysz ostrzeżenie usunięte. (ta odpowiedź dotyczy poprzedniej wersji xcode)

 102
Author: Futur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-14 19:04:03

To nie jest błąd Xcode, chociaż komunikat ostrzegawczy nie jest wystarczająco pomocny, aby opisać prawdziwą przyczynę.

Ten Komunikat o błędzie występuje, gdy w projekcie znajduje się kilka plików o tej samej nazwie. Wystarczy usunąć lub zmienić nazwy plików o zduplikowanych nazwach, a problem zostanie rozwiązany.

 51
Author: aimacworx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-25 05:48:25

Dzieje się tak, jeśli w projekcie znajdują się 2 pliki o tej samej nazwie. Nawet jeśli pliki są w grupach w XCode, gdy projekt jest kompilowany, wszystkie pliki trafiają do tego samego katalogu. Innymi słowy, jeśli masz / group1 / image.jpg i / group2 / image.jpg skompilowany projekt będzie miał tylko jeden z dwóch obrazów.pliki jpg.

 25
Author: respectTheCode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-10 11:09:09

Jak wcześniej wspomniano, ten problem można zobaczyć, jeśli masz wiele plików o tej samej nazwie, ale w różnych grupach (żółte foldery) w Nawigatorze projektu. W moim przypadku było to zamierzone, ponieważ miałem wiele podkatalogów, każdy z " podglądem.jpg", który chciałem skopiować do pakietu aplikacji:

informacje o grupie

W tej sytuacji należy upewnić się, że Xcode rozpoznaje referencję katalogu (niebieska ikona folderu), a nie tylko grupy.

usunąć plików i wybieramy "Usuń odnośnik" (więc nie usuwamy ich całkowicie):

Usuń odniesienia do grup


dodaj je ponownie do projektu, przeciągając je z powrotem do nawigatora projektu. W wyświetlonym oknie dialogowym wybierz opcję "Utwórz referencje folderów dla dodanych folderów":

Dodaj jako referencje do folderu


zauważ, że pliki mają teraz niebieską ikonę folderu w Nawigatorze projektu:

wpisy w tematyce folder


If you now look w sekcji "Kopiuj zasoby pakietu" w fazach budowania celu zauważysz, że istnieje jeden wpis dla całego folderu, a nie dla każdego elementu zawartego w katalogu. Kompilator nie będzie narzekał na wiele poleceń kompilacji dla tych plików.

 16
Author: Stuart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-25 10:32:12

To nie jest błąd. Asysty Xcode mogą Ci pomóc. Wybierz cel po lewej stronie w Nawigatorze projektu. Kliknij "Zatwierdź ustawienia" na dole ustawień. Xcode sprawdzi ustawienia i usunie duplikaty, jeśli to możliwe.

 15
Author: Gunther,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 21:18:00

Inna wersja tej sytuacji może wystąpić, gdy w fazie budowania nagłówków znajdują się duplikaty.

To fix this ...

  1. przejdź do celu projektu
  2. Wybierz Build Phases
  3. Wybierz Headers fazę budowania
  4. wprowadź nazwę wyświetlaną w ostrzeżeniu
  5. zwróć uwagę na dwa (lub więcej) Elementy
  6. znajdź +|- pola w lewym dolnym rogu
  7. wybierz jeden z elementów i kliknij przycisk -
 13
Author: john.k.doe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-11 18:03:03

W moim przypadku problem był spowodowany tą samą nazwą celu i folderu wewnątrz grupy.

Wystarczy zmienić nazwę pliku lub folderu, aby rozwiązać problem.

 7
Author: Dmitry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-21 23:22:45

Jestem prawie pewien, że może to być spowodowane przez błąd XCode 4, przynajmniej w przypadkach, w których go spotkałem.

Dzieje się tak, jeśli dodasz do projektu wiele plików zależnych od języka w tym samym czasie. Odkryłem to, przeglądając różnice Gita. Nic nie zrobiłem w commicie, ale dodałem kilka nowych zlokalizowanych plików nib. Ale patrząc wstecz na różnicę projektu.plik pbxproj to pokazało kilka nowych duplikatów odwołań dodanych do plików, które były już w projekcie wcześniej. Pliki, które to zrobił, też wydawały mi się przypadkowe.

Powtórzyłem to samo zachowanie wiele razy.

Usunięcie tych plików z projektu nie rozwiązuje problemu, ponieważ usuwa tylko oryginalne odniesienie i pozostawia duplikaty. Jedynym sposobem, aby to naprawić, jest powrót do zatwierdzenia i rozpoczęcie od nowa, lub ręcznie edytować plik projektu, co jest naprawdę dobrym sposobem, aby spieprzyć go jeszcze bardziej, ponieważ trudno powiedzieć, które duplikaty usunąć i trzeba to zrobić w ton z różnych miejsc.

Xcode 4 to dla mnie ogromne rozczarowanie.

 5
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-20 20:46:37

Znalazłem dość proste rozwiązanie na to:

  1. Wybierz plik powodujący problem z nawigatora projektu
  2. Usuń zaznaczenie członkostwa docelowego z Inspektora plików
  3. Zbuduj projekt
  4. Sprawdź ponownie docelową zawartość pliku

Ostrzeżenie zniknęło! Sprawdź ten obraz w celach informacyjnych.

Tutaj wpisz opis obrazka

 5
Author: Mahmoud Fayez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-20 15:19:53

To się dzieje, ponieważ ur " Nie.png" "d.png" i "n.png" są powielane w zasobach . Po prostu poszukaj Usuń dublowane pliki i usuń.

 4
Author: user944031,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-23 10:36:07

Błąd pojawia się, gdy u ma więcej niż jedno odniesienie do tego samego pliku. Miałem 2 pliki o tej samej nazwie i dostałem ten błąd. Po usunięciu jednego z nich błąd zniknie..

 3
Author: hilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-20 14:27:29

Kolejna wariacja na ten temat. Miałem ten sam komunikat, żadne z wcześniej zaproponowanych rozwiązań nie rozwiązało problemu (na pewno miałem tylko jedną kopię pliku).

Moim rozwiązaniem była edycja projektu.plik pbxproj w edytorze tekstowym (oczywiście po zamknięciu XCode i zrobieniu kopii zapasowej pliku) i usunąć wszystkie odniesienia do pliku. Następnie, po ponownym uruchomieniu XCode, ręcznie dodałem Plik z powrotem do projektu i wszystko było ok.

(podejrzewam, że ten problem przytrafił mi się z powodu podręcznika, czyli: non-XCode, merge pliku projektu.)

 2
Author: orlanthi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-09 13:25:46

Otwórz folder Framework w projekcie i upewnij się, że wewnątrz są tylko frameworki. Przez pomyłkę dodałem cały folder dewelopera!

 1
Author: rjobidon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-18 18:08:27

Miałem ten sam problem kilka minut temu. Wspomniałem, że zmiana "celu rozmieszczenia" rozwiązała mój problem.

 1
Author: Martijn Mellens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-13 17:17:56

Dla mnie Target > Build Settings > Packaging > Nazwa Produktu została ustawiona na to samo, co inna wartość, o której mowa w a .plik plist, który był niestandardowy dla mojej aplikacji. Ostatecznie ze względu na nasz proces budowania tworzy duplikaty plików.

 0
Author: The Red Pea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-09 16:15:11

Swift 3: (ale także starsze wersje) zdarza się, gdy mam zasoby z duplikatami. Wystarczy zmienić nazwy plików z tym problemem i wszystko pójdzie dobrze.

Może się to zdarzyć również wtedy, gdy dokonałeś Assets.xcassets i zmieniłeś nazwę duplikatów na nowe nazwy, więc po czasie zapomniałeś go i usuń go, aby dodać odwołania do folderu, ale ten wraca do problemu duplikatów plików..

 0
Author: Alessandro Ornano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-07 10:27:09