Xcode 6.3 ulega awarii podczas przechodzenia z serii ujęć do innego pliku Swift 1.2


80

Zainstalowałem Xcode 6.3, który obejmuje obsługę języka Swift 1.2. Pojawiło się mnóstwo komunikatów o błędach, które dotyczą głównie problemów z przesyłaniem.

Przeszedłem do scenorysu i nie mogę wrócić do żadnego innego .swiftbez awarii całej sprawy. Wymusiłem zamknięcie, ponowne uruchomienie, a nawet ponowne zainstalowanie i nadal nie mogę opuścić Main.storyboardpliku.

Wypróbowałem sugestię opisaną tutaj, aby otworzyć scenorys jako kod, wprowadzić pewne zmiany, cofnąć te zmiany, zapisać i spróbować ponownie, ale nadal bez powodzenia.

Czy coś w moim kodzie psuje Xcode? Czy ktoś jeszcze tego doświadcza? Z powodzeniem korzystałem z Xcode 6.3 beta z tym samym kodem.

Aktualizacja: zostało to naprawione w Xcode 6.3.1 wydanym 21 kwietnia 2015.


1
Te same awarie tutaj ...
— Dániel Nagy

3
HoaParis nadal się zawiesza po konwersji. Mam na myśli, że utknąłem na storyboardzie. Nie mogę nawet zamknąć bieżącego projektu, aby otworzyć inny projekt.
— kamień

2
To nie tylko szybka sprawa ... Objective-C także
— Omid Hashemi

2
Radar przesłany: openradar.me/20498652
— Anthony Mattox

3
Nie tylko ze Storyboard do Swift, powoduje również awarię Storyboard do pliku Obj-C.
— daidai

Odpowiedzi:


67

Z forów programistów Apple dowiaduję się, że jest to problem @IBDesignable . Zwłaszcza w projektach, które używają niestandardowych czcionek, dodatkowych xibs itp.

W jakiś sposób rozwiązałem mój problem, usuwając wszystkie @IBDesignable z szybkich definicji klas UIView. Możesz otworzyć katalog swojego projektu za pomocą TextMate lub innego, wyszukać i usunąć wszystkie „@IBDesignable”

Jednak nadal uważam, że jest to POWAŻNY błąd, nad którym należy popracować ... więc przesyłaj dalej raporty o błędach do Apple.


Udało mi się przekonwertować wszystkie moje projekty Z WYJĄTKIEM tego, w którym używam IBDesignable, więc jestem prawie pewien, że @livingstonef jest na czymś
— Unome

może również potwierdzić. usunięcie @IBDesignable sprawia, że ​​xcode działa. Dzięki!
— alexdd55

Czy jest do tego radar?
— SushiGrass Jacob

21

Tymczasowe rozwiązanie :

Otwierając „Nowe okno” (ten sam projekt).

Jeden dla kodu, jeden dla scenorysu lub najpierw zmniejsz, pracuj swobodnie z drugim oknem.

Możesz zatrzymać swój @IBDesignables


EDYCJA: Naprawiono błąd -> Zaktualizuj Xcode 6.3.1


1
Pracuję ... Możesz ukryć swojego Nawigatora, Cmd+0aby nie ulec pokusie zmiany plików w dodatkowym oknie.
— Bartłomiej Semańczyk 10.04.15

1
inne rozwiązanie zmień nazwę pliku storyboardu w Finderze, przełącz się na potrzebną klasę i bądź szczęśliwy !!! ))))) Lubię aktualizacje Apple, gdzie jest Stive? Pomóż nam
— Matrosov Alexander

15

Uruchomienie Xcode podczas przytrzymania shiftnaprawiło to dla mnie.

(To pomija przywracanie stanu Xcode).


Aktualizacja: Xcode 6.3.1, wydana dzisiaj, rozwiązuje ten problem.


1
To fantastyczna pomoc. Ciągle byłem uwięziony, gdy stare okna były przywracane, możliwość ominięcia tego jest cudowna. Dziękuję +1
— Unome


0

Rozwiązanie tymczasowe:

Jeśli otworzyłeś Asystenta Edytora, przejdź do innego pliku, używając alt+click. Możesz zatrzymać swój @IBDesignables.


0

Oto jak obejść ten dziwny błąd:

  1. Przed uruchomieniem Xcode zmień nazwę pliku storyboardu w Finderze, aby Xcode go nie znalazł (np. Dodaj rozszerzenie .temp)
  2. Uruchom Xcode - działa dobrze, nawet jeśli został zawieszony wcześniej, ponieważ nie może wyświetlić edytora scenorysów
  3. Otwórz nowe okno w Xcode
  4. Zmień nazwę pliku scenorysu na jego oryginalną nazwę
  5. W nowym oknie w Xcode - wybierz scenorys - Xcode nie zawiesza się
  6. Zminimalizuj nowe okno i pracuj jak zwykle w oryginalnym oknie. Teraz już można wybrać dowolny plik - nawet storyboard - bez Xcode powieszenie

Pozostaje jednak jeden problem, przynajmniej dla mnie. Za każdym razem, gdy wybieram plik lub coś edytuję, Xcode musi ponownie skompilować scenorys. Jeszcze tego nie rozwiązałem.


0

Mogę potwierdzić ten błąd. Utknąłem w storyboardzie i nie mogłem nic zrobić, aby się z niego wydostać (nie mogłem nawet otworzyć asystenta). Aby obejść ten problem, przy otwartym scenorysie kliknij .storyboardplik prawym przyciskiem myszy i wybierz opcję Open As- Source Code. Spowoduje to przełączenie scenorysu na kod i będziesz mógł przejść do dowolnego pliku.


To tylko tymczasowa poprawka, gdy tylko ponownie wyświetlisz scenorys, wrócisz do tego samego problemu
— amir

Tak to jest. Po prostu musiałem znaleźć sposób na wyjście z storyboardu w pierwszej kolejności i jak dotąd była to jedyna rzecz, która działała bez usuwania wszystkich moich IB_DESIGNABLES
— Andrei Filip

możesz dwukrotnie kliknąć inny plik i pozostawić otwartą scenorys również w tle.
— amir

To pomoże ci się go pozbyć. Nie chcę, aby scenorys był otwarty w tle, ponieważ jest dość złożony i pochłania zasoby, aby był otwarty. To tylko tymczasowe rozwiązanie, dzięki któremu nie musisz zmieniać IB_DESIGNABLES i nadal możesz korzystać z Xcode :)
— Andrei Filip

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.