Po uaktualnieniu do Xcode 6.3 (wersja wydana) Xcode zawiesza się teraz za każdym razem, gdy otwieram plik XIB / Storyboard zawierający IB_DESIGNABLE
widokktóry używa niestandardowej czcionkidla dowolnych projektów i zawiera niestandardową czcionkę (niekoniecznie musi mieć odniesienie do tej czcionki w tym XIB / Storyboard). Zawieszenie następuje po otwarciu pliku .xib, a następnie próbie przełączenia się na inny plik. Xcode zawiesza się i musi zostać wymuszone.
Otworzyłem raport o błędzie w Apple. (Bug 20483867).
W tej chwili mam dwie obejścia.
- Pobierz i używaj Xcode 6.2 od Apple.
- Usuń znaczniki IB_DESIGNABLE z plików nagłówkowych widoku niestandardowego.
Jest to prawdopodobnie błąd Apple, ale czy ktoś ma lepsze obejście lub rozwiązanie?
IB_DESIGNABLE
atrybutów rozwiązuje ten problem. Wrócę teraz do 6.2 fow ...Odpowiedzi:
Xcode 6.3.1 rozwiązuje problem z niestandardowymi czcionkami i
IB_DESIGNABLE
widokami w scenorysie. Zaktualizuj przez Mac App Store i powinieneś być dobry.źródło
Zasugerowałem już zmianę w celu dokładniejszego opisu .
Dzieje się tak tylko wtedy, gdy projekt zawiera niestandardową czcionkę. Zablokuje się, odwiedzając dowolny Storyboard / XIB, który zawiera niestandardowy widok IBDesignable, nawet nie odwołując się do tej czcionki w swoim Storyboard / XIB.
Moim obejściem jest
użycie starszej wersji Xcode (Xcode 6.3 beta lub Xcode 6.2) i użycie jej do zaktualizowania plików Interface Builder i nigdy nie otwieranie go w wersji 6.3.otwórz te Storyboard / XIB w nowym oknie w Xcode zoption
+shift
+click
plikiem w drzewie projektu.Za każdym razem, gdy napotkasz zamrożenie, używam tego polecenia, aby wyczyścić zapisany stan tylko dla tego projektu.
rm -rf YourProject.xcodeproj/project.xcworkspace/xcuserdata
źródło
xcuserdata
pomocne jest polecenie czyszczenia . pracuje dla mnie.Odpowiedź od Apple: Link do forów deweloperów w Apple
źródło
Dla mnie ten sam problem. Usunięcie IB_DESIGNABLE rozwiązuje problem. Powrót do wersji 6.2 nie działa, ponieważ testuję aplikacje na urządzeniu z iOS 8.3 - Xcode 6.2 nie może uruchamiać aplikacji na urządzeniach z iOS 8.3 :(
źródło
Innym obejściem jest zmiana rozszerzeń plików dla wszystkich plików czcionek i załadowanie zmienionych nazw plików z Info.plist. W ten sposób możesz zachować IBDesignables i nadal używać niestandardowych czcionek, ale nie będziesz w stanie ich zobaczyć w Selektorze czcionek w Interface Builder.
Wszystkie niestandardowe czcionki, które zostały wcześniej ustawione z Interface Builder, będą nadal działać, ale aby je zmienić lub ustawić inne niestandardowe czcionki, będziesz musiał to zrobić z kodu lub zmodyfikować pliki Storyboard lub Nib z edytora tekstu w kolejności aby ustawić nazwę czcionki.
źródło
Nie mam odpowiedzi, ale dowiedziałem się, że zwykłe wymuszone zamknięcie i ponowne uruchomienie spowoduje ponowne uruchomienie Xcode w dokładnie tej samej sytuacji. Aby móc ponownie uruchomić Xcode, usuń folder
~/Library/Saved Application State/com.apple.dt.Xcode.savedState
.źródło
Ten błąd został naprawiony w wydanej dzisiaj wersji beta 6.4 Xcode. Przejdź do centrum deweloperów i zaloguj się, aby go pobrać.
źródło
Xcode 8.1 - jeśli masz widok z Nawigacją (w moim przypadku był to nieprzezroczysty górny pasek nawigacji), po prostu spróbuj ustawić właściwość „górny pasek” na Brak.
źródło
Aby obejść ten problem, właśnie wykomentowałem wszystkie znaczniki @IBDesignable w moich kilku niestandardowych komponentach, które tego używają. Kiedy to zrobiłem, tak, tracę możliwość zmiany ustawień w Interface Builder, ale pozwoliło mi to przynajmniej otworzyć pliki .xib bez awarii XCode.
Po prostu usunę komentarz z tych wierszy @IBDesignable, gdy Apple pojawi się z poprawką.
źródło
@O. Odpowiedź Kurnenkowa zadziałała dla mnie. Nie miało to nic wspólnego z IB_Designable ani niestandardowymi czcionkami, Cocoapodami itp.
Z jakiegoś powodu posiadanie „Nieprzezroczystego paska nawigacji” powoduje, że
nib
plik (wydaje się, że nie wpływa to nastoryboard
s) stale zmieniay
położenie; można to zobaczyć w miejscu, wSize Inspector
którymy
pozycja będzie migotać między 0 a 64. To się dzieje ze mną z Xcode 8.2 (8C38).Domyślam się, że to powoduje, że Xcode stale aktualizuje układ, a tym samym wyczerpuje zasoby i powoduje zawieszanie się / zamrażanie.
Rozwiązaniem jest użycie dowolnej z opcji „Półprzezroczyste”, Wnioskowane lub Brak.
Mam nadzieję że to pomoże!
źródło