Aplikacja działa dobrze w symulatorze, buduje i działa.
Kiedy podłączam swoje urządzenie (iPhone 3GS z systemem iOS 4.3) i kieruję reklamy na iPhone'a, otrzymuję komunikat „Niepowodzenie kompilacji” i „Brak problemów”.
Patrząc na okno wyników kompilacji, wszystko jest zielone i ma znacznik wyboru, łącznie z informacją o niepowodzeniu kompilacji .
Rozwinięcie transkrypcji nie pokazuje błędów.
Nie mogę wykluczyć możliwości wystąpienia błędu podpisywania lub obsługi administracyjnej, ale dało mi to te błędy, naprawiłem je i teraz nie daje mi żadnych błędów ani problemów, po prostu „Kompilacja nie powiodła się; Żadnych problemów”
- W jaki sposób kompilacja może zawieść bez żadnych problemów?
- Czy istnieje sposób, w jaki mogę obejrzeć wynik kompilacji, aby sprawdzić, czy mogę znaleźć przyczynę niepowodzenia bez żadnych problemów?
- Czy istnieje wynik kompilacji poza listą problemów?
- Nie widzę w oknie kompilacji, w którym próbuje załadować aplikację na moje urządzenie - czy to wyjście jest gdzie indziej?
Odpowiedzi:
Otrzymuję komunikat „Niepowodzenie kompilacji” bez błędów w nawigatorze problemów (tylko ostrzeżenia). Nawigator raportów wyświetlał jednak błędy poprawnie.
źródło
Czy używasz „podkreślenia” i „spacji” itp. Jako identyfikatora pakietu?
Czy używasz .m zamiast .h w jednym z importowanych plików? #import „Photo.h”
źródło
Pierwszą rzeczą, którą spróbuję, jest wyczyszczenie wszystkiego (menu Produkt / Wyczyść) i ponowne zbudowanie. Mogłeś już tego spróbować.
Pełne dane wyjściowe kompilacji znajdziesz (i możesz oglądać podczas kompilacji) w Nawigatorze dziennika. To jest najbardziej prawidłowa ikona małych ikon tuż pod przyciskami Uruchom i Buduj.
Pliki dziennika kompilacji (i debugowania) znajdują się w katalogu / Users / you / Library / Developer / XCode / DerviedData / YourProject-abcdefg / Logs / Build (i odpowiednio ../Debug).
Wydaje mi się, że nie ma żadnych wyników instalacji Twojej aplikacji na urządzeniu.
źródło
Czy w nazwie produktu Twojego celu jest spacja?
Wiem, że we wcześniejszych wersjach Xcode to nie był problem, ale wydaje się, że coś zepsuło w Xcode 4, więc to już nie działa (podejrzewam, że ma to coś wspólnego z nonsensem ścieżki DerivedData). Możesz dodać spację do nazwy swojej aplikacji, która pojawia się na Launchpad twojego iDevice, ustawiając
CFBundleDisplayName
klucz wInfo.plist
czymś innym niż${PRODUCT_NAME}
.źródło
Na jednej z lokalnych list mailingowych Cocoa Heads zachęcono mnie do wypróbowania małego domyślnego projektu przykładowego - coś, co powinienem był zrobić na początku, aby upewnić się, że moje udostępnianie i podpisywanie działają. Został zbudowany i działał na moim urządzeniu bez problemu, więc wszystkie oznaki wskazują na problem z moim kodem lub projektem.
Wrzucę rzeczy z istniejącego projektu do nowego przykładowego projektu, a jeśli zawodzi w podobny sposób, powinienem być w stanie zawęzić problem do mniejszego obszaru zainteresowania.
Dodałem główną funkcjonalność aplikacji do nowego projektu i działa dobrze. Jedyne, co tym razem zrobiłem inaczej, to nie skonfigurowałem uniwersalnego pliku binarnego (teraz tylko iPhone) i wyłączyłem wszystko oprócz orientacji pionowej. O ile wiem, wszystko inne jest takie samo, ale jeśli zdecyduję się przyjrzeć temu dokładniej później, porównam pliki projektu i zobaczę, co jeszcze może być inne.
Więc rozwiązaniem dla mnie było rozpoczęcie nowego projektu i przeniesienie wszystkich funkcji ze starego projektu do nowego projektu.
Możliwe, że odtworzenie celu, jak sugeruje Paul w innej odpowiedzi, również by go naprawiło, ale przy tak prostym projekcie ponowne uruchomienie od zera było dla mnie łatwe.
źródło
Miałem ten sam problem i jak ktoś inny zasugerował, że ma to związek z identyfikatorem pakietu. Niedawno zmieniłem go w ramach testu i umieściłem w nim gwiazdkę. Naprawiłem to i musiałem wyczyścić cel, a potem zadziałało.
źródło
Zdarzyło mi się to po usunięciu nieużywanego celu. Wygląda na to, że Xcode wstawił spację w CFBundleIdentifier mojego pozostałego celu (com.company.etc). Musiałem edytować Info.plist za pomocą zewnętrznego edytora tekstu, aby go usunąć, a potem działało dobrze.
źródło
Po prostu bawiłem się dodawaniem wielu projektów w obszarze roboczym i mam ten problem. Mam prostą bibliotekę w jednym z projektów i budowałem i dodałem cel oparty na oknie iOS, aby go przetestować. Usunąłem pierwszy cel, który stworzyłem, aby zmienić jego nazwę. Po przeczytaniu tego próbowałem usunąć xcuserdata z wnętrza pakietu .xcodeproj i to rozwiązało mój problem. Mam nadzieję, że to pomoże komuś innemu. Uruchamianie Xcode 4.1 na OS X 10.7.1.
źródło
Po przejrzeniu wszystkich tych odpowiedzi miałem dokładnie ten sam problem, ale coś innego rozwiązało go za mnie.
Problem:
Kompilacja nie powiodła się bez problemów po refaktoryzacji. (Zmieniono nazwę klasy za pomocą Edycja -> Refaktoryzacja -> Zmień nazwę).
najgłupsze rozwiązanie Kiedykolwiek:
Idź refaktoryzuj (zmień nazwę) coś innego (-_- "). Po wykonaniu tej czynności błąd polegał na tym, że Xcode nie mógł zmienić nazwy wszystkich odpowiednich plików i nie wyświetlał błędów. Następnie po kolejnym refaktorze pojawiły się błędy z poprzedniego refaktora .
źródło
Miałem ten sam problem. Próbowałem to naprawić, awaria xcode. Otworzyłem go ponownie i działało dobrze. Może miałem szczęście czy coś? W każdym razie nie obchodzi mnie, co było z tym nie tak, dopóki działa teraz
źródło
Jeśli zmieniłeś identyfikator pakietu i wyczyściłeś projekt, ale to również nie zadziałało, spróbuj opróżnić katalog / Users / YOUR_USERNAME / Library / Developer / Xcode / DerivedData.
Mi to pasuje.
źródło
Dla mnie kompilacja nie powiodła się bez wyświetlania żadnych błędów w nawigatorze problemów. Jednak w nawigatorze dziennika, podczas tej sesji kompilacji, mogłem zobaczyć błąd. W moim przypadku błąd był niezadeklarowaną stałą. Zaimportowałem wymagany plik nagłówkowy i problem został rozwiązany. Nie jestem pewien, dlaczego ten błąd nie pojawił się w nawigatorze problemów.
Próbowałem odtworzyć to zachowanie, celowo zmieniając nazwę innej zmiennej. Tym razem błąd został wyświetlony w nawigatorze problemów. Tak więc nadal nie jestem pewien, dlaczego wcześniejszy błąd nie pojawił się w nawigatorze problemów.
Mam nadzieję że to pomoże.
źródło
Powyższe rozwiązania u mnie nie działają.
Moim rozwiązaniem jest przeniesienie projektu do innego folderu.
Błędy kompilacji pojawiają się wtedy tak jak zwykle.
źródło
Czy wyczyściłeś folder kompilacji? Przejdź do menu Produkt, przytrzymaj klawisz Option i wybierz „Wyczyść folder kompilacji…”
źródło
Wiem na czym polega problem: w Info.plist -> Bundle Identifier: nie możesz użyć '_'. Na przykład nazwa com.mojafirma.Moja_aplikacja jest nieprawidłowa, ale nazwa com.mojafirma.Moja-aplikacja OK.
źródło
Miałem dokładnie ten sam problem, gdy próbowałem skompilować istniejący projekt w xcode 4 i prawie przeszedłem ból związany z odtworzeniem projektu.
Jednak w ostatniej próbie zastąpiłem plik info.plist nowo utworzonym plikiem, który zawierał dodatkowe znaczniki dla „typów dokumentów”, „typów adresów URL”, „UTI typu eksportowanego” i „UTI typu importowanego”
To wydawało się działać i było zaskakująco prostą poprawką dla mojego projektu.
źródło
Zdarzyło mi się to z moim celem UnitTest. Pracował, a potem przestał. Zapomniałem, że właśnie usunąłem plik .h / .m w systemie plików i nie usunąłem go z pliku projektu, jednak XCode tego nie zgłosił.
Rozgryzłem to, uruchamiając projekt w wierszu poleceń, który powiedział mi o błędzie:
/usr/bin/xcodebuild -target "UnitTest"
Uruchom to w folderze, w którym masz plik projektu, i zastąp UnitTest swoim celem - lub po prostu nie przekazuj celu, aby zbudować domyślny cel.
źródło
Ja też miałem ten problem, ale przyczyna była inna:
Mam obszar roboczy z jednym projektem. W tym projekcie używam frameworka, który jest dołączany poprzez dodanie projektu Xcode do mojego projektu. Zaimportowałem plik nagłówkowy frameworka w moim nagłówku prefiksu (.pch). To było głupie.
Rozwiązaniem było usunięcie #import pliku nagłówkowego struktury z mojego pliku nagłówkowego z prefiksami i dodanie go tylko w razie potrzeby.
źródło
Ten sam problem podczas tworzenia dla urządzenia. Kompilacja nie powiodła się, ale w moim dzienniku są zielone zaznaczenia Czyszczenie / usuwanie folderu kompilacji tego nie naprawia. Czytałem gdzie indziej, że ktoś rozwiązał ten problem, usuwając i odtwarzając cel, ale nie do końca wymyśliłem, jak to zrobić w XCode 4.
Moje tymczasowe rozwiązanie polegało na pobraniu i zainstalowaniu XCode 3.2.6 z iOS 4.3. Nie zdawałem sobie sprawy, że Apple wydało również wersję XCode 3, która zawiera iOS 4.3, umożliwiając odłożenie aktualizacji do XCode 4. Złożyłem raport o błędzie w Apple dotyczący problemu z niepowodzeniem kompilacji.
aktualizacja z Apple:
Przełączyłem się z podkreślenia na myślnik i rozwiązałem problem.
źródło
To samo przydarzyło się mi z innej przyczyny.
Usunąłem get-task-allow z mojego pliku Entitlements.plist, pozostawiając pusty plik plist. W ustawieniach kompilacji nadal określono plik Entitlements.plist jako mój plik uprawnień. Zdecydowałem się uruchomić przy użyciu ustawień kompilacji Ad-Hoc na urządzeniu z systemem iOS z podłączonym iPhonem i zobaczyłem zachowanie opisane w tym błędzie. Dodanie get-task-allow back naprawiło to.
źródło
wydaje się, że istnieje wiele możliwych przyczyn tego problemu. Mój okazał się taki
Mój cel został ustawiony na używanie nieistniejącego profilu informacyjnego.
Ustawiłem projekt tak, aby używał nowego profilu, a stary usunąłem. Nie zdawałem sobie sprawy, że miejsce docelowe ma własne ustawienie profilu informacyjnego, które nadal było ustawione na stary (teraz usunięty) profil.
źródło
Wystarczy dodać kolejną odpowiedź po wypróbowaniu WSZYSTKICH powyższych bez powodzenia: musiałem zrestartować MacBooka, nie tylko zamknąć XCode, i to zadziałało. Skończyło się na tym, że XCode pokazał pewne błędy w Localizable.strings, których wcześniej nie pokazywał.
Mam nadzieję, że to pomoże
źródło
Wyczyść wszystkie Spaces w schematach projektu w xcschemes i to rozwiązuje ten problem. Pieprzone Apple :( AppCode ROCKS!
źródło
zobacz: http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html
źródło
Nie miałem problemu z nazwą pakietu, więc sugerowane rozwiązania nie zadziałały. Na koniec ustawiłem opcję Don't code sign dla kompilacji, następnie zamknąłem projekt, usunąłem obsługę administracyjną w organizatorze, pobrałem nową obsługę administracyjną i dodałem ją do organizatora, a następnie ustawiłem je dla kompilacji. Zadziałało.
źródło
To nie jest odpowiedź techniczna, ale odpowiedź „błąd użytkownika”, która prawdopodobnie nie dotyczy Twojej sytuacji. Przydarzyło mi się to i moje poszukiwania doprowadziły mnie do tego pytania i odpowiedzi bezskutecznie - dopóki nie zdałem sobie sprawy z mojego błędu. W Nawigatorze problemów został ustawiony filtr, który nie pasował do niczego, co było zgłaszane jako problem. Kiedy wyczyściłem filtr, problemy zostały wyświetlone.
Zauważ, że objawy były takie same, o jakie pytałeś i nie mam pojęcia, kiedy ustawiam ten filtr (musi być odziedziczony z innych widoków nawigacji), ponieważ nie potrzebowałbym żadnego filtrowania na krótkiej liście.
źródło
Właśnie miałem podobny problem. Nie udało się nigdzie znaleźć błędu. Usunąłem wszystkie moje profile obsługi administracyjnej i dodałem nowe.
Następnie próbowałem zbudować inną aplikację testową na moim urządzeniu i otrzymałem ten komunikat o błędzie:
Błąd Code Sign: tożsamość certyfikatu „iPhone Developer: xxxxxx” pojawia się więcej niż raz w pęku kluczy. Narzędzie Codesign wymaga tylko jednego.
Więc wszedłem do pęku kluczy, znalazłem kilka wygasłych certyfikatów o tej samej nazwie i usunąłem je, i to załatwiło sprawę.
Dość losowo, ale być może jeśli spróbujesz zbudować inną aplikację na urządzenie, tak jak ja, możesz mieć szczęście, aby otrzymać komunikat o błędzie, tak jak ja, aby pomóc zdiagnozować problem.
źródło
Przejdź do Organizatora w xcode. Na karcie Projekt usuń ten projekt. Pozwól xcode ponownie odbudować dane pochodne i napraw mój problem.
źródło
Z podobnym problemem spotkałem się w XCode4.5 i podczas pracy nad moją aplikacją XCode nagle się zawiesił.
Po wielu godzinach wyszukiwania dowiedziałem się, że jeden z moich plików w mojej aplikacji został usunięty po awarii xcode.
Przywróciłem plik z Kosza i problem został rozwiązany.
źródło
Programowałem aplikację Mac OS X bez kodowania . Kiedy włączyłem piaskownicę w sekcji „Uprawnienie”, kodowanie włączało się automatycznie i nie mogłem stworzyć nowej kompilacji.
źródło