Już wypróbowano: błąd podpisania kodu w systemie macOS Sierra, Xcode 8
Zobacz obraz przedstawiający błąd
CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
(c6c30d2a-1025-4a23-8d12-1863ff684a05)
/usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
W sekcji Code Code pozwala mi wybrać profil i certyfikat ... ale nadal daje błąd.
Jak rozwiązać ten problem?
ios
xcode
xcode8
macos-sierra
iPhoneProcessor
źródło
źródło
Odpowiedzi:
Rozwiązanie 1:
Witryna programisty Apple Odpowiedzi na powyższy problem Tutaj .
Wykonaj poniższe polecenie w terminalu: Pierwszy folder główny projektów goto
Wyczyść Xcode i przebuduj. Twoje zdrowie
Rozwiązanie 2:
Wystarczy przejść do katalogu głównego projektu i uruchomić polecenie xattr -cr.
Wyczyść Xcode i przebuduj. Gotowe.
Rozwiązanie 3:
Możesz rozwiązać ten problem, znajdując pliki zawierające informacje o wyszukiwarce.
W terminalu przejdź do katalogu głównego projektu i uruchom go
Spowoduje to utworzenie pliku kundapura.txt w bieżącym katalogu. Teraz wyszukaj com.apple.FinderInfo i wyczyść te atrybuty dla wszystkich plików. Możesz to zrobić w ten sposób
Przykład:
xattr -c guru.png
Po wyczyszczeniu wszystkich znaków kod działa. Wyczyść Xcode i przebuduj. Twoje zdrowie
Rozwiązanie 4: Zainspirowany odpowiedzią Marka McCorkle'a
W terminalu przejdź do katalogu głównego projektu goto i wykonaj polecenie jedno po drugim
Wyczyść Xcode i przebuduj. Gotowe.
źródło
Błąd wynika z atrybutów w plikach obrazu. Stało się tak od naszego projektanta grafiki zapisującego obrazy z Photoshopa z atrybutami.
Oto proste polecenie, aby znaleźć wszystkie pliki png i usunąć ich atrybuty. Uruchom to w katalogu głównym projektów z terminala. Oczyść i odbuduj; problem rozwiązany.
źródło
Jeśli masz ten błąd podczas podpisywania aplikacji kodem:
Przejdź do folderu głównego projektu i uruchom
Spowoduje to wyczyszczenie atrybutów dla wszystkich plików.
W Sierra zaostrzono zasady dotyczące zawartości w podpisanym pakiecie, a widelce zasobów nie są już dozwolone. AppleScript od zawsze zapisuje informacje w widelcach zasobów, chociaż informacje te nie były używane przez długi czas. W przypadku Sierra podczas zapisywania skryptu informacje o rozwidleniu zasobów nie będą już zapisywane.
Oznacza to, że nie można podpisać skryptu, który został ostatnio zapisany w wersji wcześniejszej niż Sierra; musisz zapisać się w Sierra, aby móc zalogować się w Sierra.
Osoby, na które może mieć wpływ, to osoby, które łączą inne skrypty w swoich skryptach (cordova?). Nie będą mogli podpisać skryptu kontenera, dopóki wszystkie osadzone skrypty nie zostaną ponownie zapisane w Sierra.
AKTUALIZACJA:
Wygląda na to, że to również działa:
Jeśli masz jakiś niewystarczający błąd uprawnień, spróbuj dodać sudo:
sudo xattr -rc .
źródło
Najłatwiejszym sposobem obsługi atrybutów w plikach źródłowych jest wyczyszczenie archiwum przez Xcode przed uruchomieniem znaku. Aby to zrobić:
Wprowadź następujące informacje dla skryptu:
xattr -cr ~ / Library / Developer / Xcode / DerivedData || echo Wyczyść
Teraz, kiedy budujesz swój cel, usunie on wszystkie atrybuty, które mogłyby uszkodzić znak. Czyszcząc na tym etapie, nie musisz zmieniać kodu źródłowego / katalogu projektu.
Część skryptu „|| echo Clear” zapewnia kontynuację kompilacji projektu nawet w przypadku błędów xattr.
Ta metoda jest dobra, jeśli korzystasz z programów takich jak DropBox w repozytorium kodu, które dodają atrybuty, ponieważ nie zmienia to projektu źródłowego, tylko wbudowane archiwum.
Konieczna może być zmiana ścieżki w celu dopasowania do katalogu DerivedData - ta ścieżka będzie wyświetlana obok błędu znaku.
źródło
Użyłem następującego polecenia. Użyj okna terminala. Przejdź do swojego projektu i wykonaj następujące czynności:
źródło
Oficjalna odpowiedź Apple na ten problem znajduje się w Technicznych pytaniach i odpowiedziach QA1940 .
<path_to_app_bundle>
można zastąpić katalogiem projektu Xcode. Na przykład~/Development/MyProject
źródło
xattr -lr <path_to_app_bundle>
końcu uzyskaliśmy odpowiednie pliki. Dostałem Localizable.strings z agencji z Finder-Tags, a te spowodowały awarię Codesign.Czyszczenie plików jest w porządku, ale uciążliwe dla wielu projektów.
aplikacje graficzne (takie jak Photoshop w starych wersjach) zapisują dodatkowe informacje (teraz nazywamy to metadanymi ..) w starym stylu w plikach zewnętrznych lub pochodzą one ze starszego OSX, pliki takie jak:
„com.apple.ResourceFork” i „com.apple.FinderInfo”, na przykład podczas rozpakowywania folderu.
Xcode 8 odmawia dodania go do kompilacji (ponieważ dodałeś je do projektu za pomocą „git --add.” Może…) Możesz znaleźć w terminalu rekurencyjnie i usunąć je, ale może być żmudne.
Napisałem małe bezpłatne narzędzie do jego usunięcia .. mam nadzieję, że może pomóc ..
https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12
źródło
Proste rozwiązanie: -
Jak to zrobiłem [Pracuję dla siebie]
Krok 1: - Przejdź do tego folderu - z poziomu wyszukiwarki naciśnij opcję Idź -> Idź do folderu
następnie wpisz ścieżkę projektu, jak w tym przykładzie: - Library / Developer / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos
Teraz możesz zobaczyć okno wyskakujące z listą dostępnych plików, tam zobaczysz plikApp.app [Nie rób niczego, tylko poczekaj na krok 2].
Krok 2: - Otwórz nowy terminal i wpisz po prostu cd, a następnie przeciągnij krok 1 swoją aplikację. Do aplikacji, teraz otrzymasz ścieżkę do aplikacji, teraz naciśnij przycisk Enter.
Krok 3: - Teraz wpisz to polecenie **
Nie przegap „.” (Kropka) naciśnij przycisk Enter.
To wszystko, przejdź do projektu Xcode, wyczyść i uruchom ponownie.
źródło
----- W przypadku, gdy nie możesz zastosować powyższych rozwiązań, z powodu braku wiedzy bash lub coś innego.
Miałem ten problem, gdy tylko włączyłem iCloud Drive w mojej Sierra. Mój projekt znajdował się w folderze zsynchronizowanym z iCloud Drive. Przypuszczam, że właśnie to dodaje te dodatkowe atrybuty.
Rozwiązanie tymczasowe:
Wyłącz Dysk iCloud dla folderu, w którym znajduje się Twój projekt.
źródło
Dla tych (jak ja), którzy tylko próbują opracować aplikację bez konieczności usuwania rozszerzonych atrybutów na każdym nowym PNG utworzonym w programie Photoshop dodanym do celu macOS, możesz tymczasowo wyłączyć podpisywanie kodu, dodając ustawienie kompilacji zdefiniowane przez użytkownika:
Oczywiście dystrybutor aplikacji musi w końcu poradzić sobie z tym problemem, ale umożliwia to programowanie w przypadkach takich jak mój, w których nie zawsze było łatwo ominąć podpisywanie kodu w Sierra (w poprzednich systemach OS X / Xcode było to łatwiejsze).
Według komentarza RGriffith, oto kilka zrzutów ekranu dla tych, którzy nie są pewni, jak dodano niestandardowe ustawienie kompilacji.
źródło
Musisz usunąć folder pakietu aplikacji i odbudować aplikację, jak wyjaśniono poniżej.
Moja aplikacja nazywa się: augment
W oknie terminala przejdź do folderu aplikacji, np .: cd / Users / username / Library / Developer / Xcode / DerivedData /
W oknie terminala uruchom polecenie dla folderu aplikacji, np .: xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms
Wyczyść> Zbuduj> Uruchom.
Istnieje również bezpłatna aplikacja na Mac Appstore o nazwie „CleanDetritus”, która usunie je.
źródło
Ten problem przyszedł do mnie wczoraj.
(What's wrong)
Zaktualizowałem zasoby obrazu ręcznie zastępując plik w wyszukiwarce i nie udało mi się z tym błędem kompilacji.(What's right)
Nie aktualizuj obrazu w ten sposób. Następnie przeciągnąłem obrazy do „xcassets” w Xcode. Błąd nie pojawia się ponownie.źródło
Problem tkwi w danych pochodnych. Należy wyczyścić dane pochodne, a następnie wyczyścić projekt i kompilację. Sprawdź ten link.
źródło
Moim problemem jest każda zmiana, którą wprowadzam w kodzie i wykonuję ponownie, błąd pojawia się ponownie. Następnie znajduję rozwiązanie, aby automatycznie wykonać polecenie przy każdej kompilacji / wykonaniu kodu.
Dzięki @ rich-stanie odkryłem „Run Script”. Następnie wstawiam polecenie „xattr -cr”. na polu.
źródło
Najprostsza poprawka może być, jeśli używasz git . Próbować:
Git nie przechowuje metadanych plików, powyższe usunie je wszystkie.
źródło
Mój problem polegał na tym, że użyłem Cordova do zbudowania aplikacji około rok temu, ale nie była kompatybilna z nową wersją xcode, więc po prostu użyłem
cordova build ios
i zadziałało ponownie.źródło
Jednym z najlepszych rozwiązań jest Idź do tego typu terminala
Aby znaleźć pełną ścieżkę prawym przyciskiem myszy kliknij projekt Xcode-> uzyskaj informacje -> skopiuj ścieżkę i zamień na. Następnie wpisz poniżej polecenie
Wyczyść i zbuduj gotowe.
źródło
Jeśli polecenia xattr nie rozwiązują problemu, może to wynikać z błędu XCode 9: spróbujmy usunąć i ponownie dodać folder zasobów (w moim przypadku był to plik .xcassets) zawierający pliki, których dotyczy problem, z Xcode. (powinieneś zrozumieć, które pliki podlegały usterce wcześniej za pomocą polecenia xattr -lr)
źródło
Otwórz terminal i po prostu uruchom to polecenie.
xattr -cr "ścieżka do pliku .app"
źródło
Mam również do czynienia z tym samym problemem, został naprawiony przez ponowne uruchomienie mojego Macbooka.
źródło
Przekonałem się, że jeśli dodam
color tag
folder poniżejDerivedData
, da to powyższy błąd podczas debugowania na urządzeniu.Usuń
color Tag
napraw ten błąd dla mnie.źródło
Możesz usunąć dane pochodne
Xcode -> Preferences
I kliknij strzałkę poniżej
Derived Data
i opróżnij folderDerived Data
źródło
Nie wiem, co się ze mną stało, ale kiedy uruchomiłem aplikację trzepotania na symulatorze, wystąpił błąd. Użyłem
flutter clean
polecenia i usunąłem pochodne dane, a potem wszystko poszło dobrze.źródło