Projekt Xcode iOS wyświetla tylko „My Mac 64-bit”, ale nie ma symulatora ani urządzenia


226

To właśnie zaczęło się dziać, że mój projekt iOS pokazuje „Mój Mac 64-bitowy”, a nie Symulator lub mój iPhone do zbudowania. Nie mam pojęcia, dlaczego tak się dzieje. Nie sądzę, żebym coś zmienił.

wprowadź opis zdjęcia tutaj

Mój projekt jest ustawiony na iOS 5 jako podstawowy zestaw SDK, ale bez względu na to, co robię, wydaje się, że nigdy nie pokazuje innych opcji tworzenia. Uruchomiłem Xcode kilka razy i nadal nie mam szczęścia.

Dlaczego tak się dzieje?

Xcode 4.2, kompilacja 4D199

Odpowiedzi:


401

Rozgryzłem to. Musiałem edytować schemat (Produkt-> Schemat-> Edytuj schemat ...) iz jakiegoś powodu nie wybrano pliku wykonywalnego. Wybrałem aplikację, zapisałem, a teraz mam z powrotem opcje mojego symulatora i urządzenia.


3
W moim przypadku nie wybrano żadnego pliku wykonywalnego i działa dobrze ... Po naprawieniu podstawowego zestawu SDK (w Ustawieniach kompilacji), który został dziwnie nieprawidłowo ustawiony na „iPhoneos” zamiast „iOS 5.0” tak, jak powinien i tak było wcześniej .
cregox

27
Czy ostatnio zmieniłeś nazwę pliku projektu XCode (.xcodeproj)? Też mi się przydarzyło. Dzięki za twoje rozwiązanie!
Paul Shapiro,

2
W moim przypadku wybrany jest plik wykonywalny, ale wciąż nadchodzi ten schemat mac.
Sandy,

8
Do twojej wiadomości, miałem ten problem i podobnie jak Paul, stało się to zaraz po zmianie nazwy mojego pliku xcodeproj.
IQpierce

1
gdzie jest przycisk wykonywalny?
coolcool1994

85

Oto jak rozwiązałem ten problem. Kliknij prawym przyciskiem myszy plik xcodeproj i wybierz „pokaż zawartość pakietu”. Teraz usuń wszystko z folderu xcuserdata. Voila Mam nadzieję, że pomoże to każdemu, kto zmaga się z tym problemem.


1
Dzięki! Rozwiązało to mój problem po zmianie nazwy pliku xcodeproj.
Vince Yuan,

Ta odpowiedź zakłada, że ​​wartości domyślne Xcode są na swoim miejscu - tzn. Używane schematy nie są „Udostępniane” i zaznaczono opcję „Twórz automatycznie”. W przypadku projektów współdzielonych z zespołem często jedno lub oba z tych domyślnych ustawień są wyłączone, ponieważ są ukierunkowane na użytkownika (a nie na współpracę).
Quintin Willison,

To nie jest poprawny sposób. Zaakceptowana odpowiedź jest dokładna.
Manan Devani,

Tak - dobrym pomysłem jest dodanie pliku .gitignore na goo.gl/Oy5o6H, aby uniknąć historii xcuserdata w git repo.
wcochran

rozwiązane dla mnie dzięki, ale musiałem usunąć udostępnione dane wewnątrz, a nie dane użytkownika
Leonardo Pugliese

41

Zasadniczo dzieje się tak, gdy zmienisz nazwę projektu lub coś takiego. Rozwiązanie polega na tym, że musisz wybrać odpowiedni „ Scheme” projekt. Oto rozwiązanie:

Po otwarciu projektu:

  1. Go to "Product" from upper menu
  2. Select "Scheme" from the list
  3. Then select "Manage Scheme"
  4. Now no matter your "Project Name" is listed here or not just click on "Autocreate Schemes Now" from the upper-right side of the window.
  5. Press "ok", now your project rebuild and you can find the "Simulator List" on the top.

Mam nadzieję, że to wam pomoże.


40

Miałem ten sam problem.

Żadne z powyższych rozwiązań nie zadziałało. Na koniec kliknąłem „Zarządzaj schematami”, a następnie „Automatycznie twórz schematy teraz”. Następnie wybierz nowy schemat w Xcode. Teraz odzyskasz wszystkie opcje urządzenia / symulatora.

Może to być nieco nuklearna opcja, jeśli jesteś w połowie projektu. Mój problem pojawił się, kiedy zaczynałem nowy projekt i przemianowałem go. W tym scenariuszu tylko autokreacja nowego schematu działała.


Cześć @Anshu, wtedy będzie stary schemat starej nazwy, czy wiesz, jak ją usunąć?
George

@congliu Stary schemat zostaje zastąpiony nowym. Jeśli używasz kontroli wersji jak SVN, zobaczysz stary schemat oznaczony jako „do usunięcia po zatwierdzeniu” w kliencie SVN.
Himanshu Singh,

prawidłowa odpowiedź w moim przypadku, wybór pliku wykonywalnego nie był opcją, ponieważ miałem do czynienia z rozszerzeniem.
Sagi Mann,

Dobra odpowiedź :) Dzięki +1
Rajamohan S

19

Istnieją różne rozwiązania tego problemu. Dwa podejścia, które zastosowałem, są poniżej:

  1. Kliknij prawym przyciskiem myszy plik xcodeproj. Wybierz „pokaż zawartość opakowania”. Teraz usuń wszystko z folderu xcuserdata.

  2. Wybierz „Edytuj schemat”. Sekcja wykonywalna będzie miała „brak” w zakładce Informacje w oknie. Teraz wybierz „ProjectName.app”.

Zrzut ekranu


1
naprawdę mi pomógł
BharathRao

10

Często może się to zdarzyć, gdy niektóre pliki zmieniają się bez błogosławieństwa xcode. Jak w przypadku przełączania między gałęziami kontroli wersji. Zwykle ponowne uruchomienie Xcode rozwiązuje ten problem.


1
Tak, przeczytałem to. Ale ponowne uruchomienie w moim przypadku nigdy nie pomogło.
Nic Hubbard,

9

Żadna z sugestii tutaj nie zadziałała, ale kliknięcie projektu na pasku bocznym, a następnie w obszarze „Cel aplikacji na iOS” przełącza „Urządzenia”.

Byłem ustawiony na „iPad”. Zmieniłem go na „Universal”, a następnie z powrotem na „iPad”, a program sam się poprawił.

Jeśli robi to różnicę, dotyczy to projektu PhoneGap / Cordova.


Jeśli cel wdrożenia jest wyższy niż Twój telefon (tj. Działa na Xcode podglądu programisty, a następnie przełącza się z powrotem), proces ten zmienia cel wdrażania, co powoduje zniknięcie wiadomości! Dzięki
Rambatino,

7

Jeśli ten problem występuje po zmianie nazwy projektu, faktyczny problem polega na tym, że w schemacie zdefiniowano kontener odwołujący się do starej nazwy projektu. Musisz edytować plik schematu również w edytorze tekstu i zastąpić wszystkie wystąpienia starej nazwy projektu nową nazwą projektu.

Musisz przejrzeć wszystkie pliki podrzędne w folderze projektu i zastąpić nazwę starego projektu nowym, aby rozwiązać ten problem. Wszystkie inne obejścia wymienione w innych odpowiedziach są tylko sposobami zmuszenia Xcode do zrobienia tego za Ciebie.


6

Ten problem wystąpił, gdy utworzyłem projekt za pomocą Xcode 4.5 (iOS SDK 6) i otworzyłem go później za pomocą Xcode 4.2 (iOS SDK <6). Rozwiązałem ten problem, wybierz cel-> Podsumowanie, w obszarze Cel wdrożenia, ustawiłem go na 5.0:

wprowadź opis zdjęcia tutaj

Xcode 4.2 nie obsługuje iOS SDK 6.0, więc muszę obniżyć docelowy poziom wdrożenia, a następnie mam urządzenie w schemacie. Mam nadzieję, że komuś to pomoże.


4

Jeśli nic powyżej nie działa, kliknij projekt z paska bocznego, jak pokazano na obrazku u góry, a następnie przejdź do PROJEKT, a następnie Ustawienia budowania, a następnie w obszarze Architektury zmień Obsługiwane platformy z OSX na iOS.

Mam nadzieję, że to pomoże!

wprowadź opis zdjęcia tutaj


To jedyna rzecz, która działała dla mnie! Dziękuję
April Polubiec

3

Wybierz Edycja schematu, w menu „Plik wykonywalny” będzie brak. Wybierz zamiast tego aplikację .app z menu rozwijanego. Mam nadzieję, że to pomoże


3

Cześć Mam ten problem Projekt, który dostałem od uczelni.
Rozwiązałem go, tworząc „nowy schemat” o nazwie projektu.

Dzięki,


3

Zasadniczo pobrane kody przykładowe mają taki problem. Można je zmienić, zmieniając Podstawowy zestaw SDK na najnowszy system iOS w zakładce „Ustawienia kompilacji” swojego projektu.

wprowadź opis zdjęcia tutaj


3

Miałem ten problem i oto jak go naprawiłem.

W „Ustawieniach kompilacji” zmień „Obsługiwane platformy” z „iPhoneos” na „iOS”. Nie wiem dlaczego, ale działa dla mnie.


3

Przejdź do ustawień kompilacji -> Wszystkie -> Obsługiwane platformy. Kliknij i wybierz iOS. Mój był w Macu z jakiegoś dziwnego powodu. Nigdy tego nie zmieniłem!


2

Automatyczne sprawdzanie poprawności ustawień rozwiązało dla mnie ten problem. (Przycisk „Zatwierdź ustawienia”)


1

Rozwiązałem ten problem, ustawiając docelową wersję wdrożenia na niższą lub taką samą wersję obsługiwaną przez Xcode (iOS SDK).


1

w moim przypadku musiałem zmienić podstawowy zestaw SDK w projekcie -> Ustawienia kompilacji na najnowszą wersję SDK systemu iOS


0

Wypróbowałem każde sugerowane rozwiązanie tego problemu przy przepełnieniu stosu.

Ostatecznie usunąłem aplikację Xcode i ponownie pobrałem ją z App Store. Po instalacji symulatory wróciły.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.