Błąd scenorysu iOS5: scenorysy są niedostępne w systemie iOS 4.3 i wcześniejszych


98

Zbudowałem małą aplikację przy użyciu scenorysów i działała świetnie. Tuż przed końcowymi testami postanowiłem go wypróbować, aby sprawdzić, czy działa na iOS 4.3. Kliknąłem na szary 5.0 w ustawieniach projektu i wybrałem 4.3.

Nie udało się skompilować aplikacji i wyświetlany jest następujący komunikat o błędzie:

Scenorysy są niedostępne na iOS 4.3 i wcześniejszych

Mówią mi o tym zarówno scenorysy na iPhonie, jak i na iPadzie.

Problem polegający na tym, że kiedy przełączałem się z powrotem na system docelowy iOS5, nadal otrzymuję te błędy z obu scenorysów, a produkt nie zostanie zbudowany! Sprawdziłem: Cel wdrożenia iOS w ustawieniach projektów to 5.0 Docelowy cel wdrożenia aplikacji to 5.0 Ustawienia kompilacji używają zestawu SDK iOS 5.0

Co jeszcze muszę zrobić, aby przywrócić projekt do stanu możliwego do zbudowania? Czy to zupełnie nowy błąd, czy o czymś zapominam?

Aktualizacja: ciągle otrzymywałem ten błąd nawet po wyczyszczeniu. Zmieniłem debugger w Schemes na "LLDB" i zrobiłem dodatkowe czyszczenie , projekt teraz buduje się i kompiluje


Dla przypomnienia, wypróbowałem każde zaproponowane rozwiązanie (stan na 9 lutego 2012). Żadna praca. Hmm ...
Joe D'Andrea

1
Mam ten sam problem, nawet przy nowych projektach (to szaleństwo)! Wypróbowałem tutaj wszystkie metody, żadna nie działała. Aktualizacja Xcode do najnowszej wersji (4.3.1) też nie pomaga. grrrrrr .....
Luzifer42

1
Żadna z poniższych odpowiedzi nie pomogła. Próbowałem 22 marca ..! :(
jeevangs

2
I Profileed stosowania na przecieki i Runed go =)
tGilani

nie mogę sobie wyobrazić, jak głupie jest jabłko
neobie

Odpowiedzi:


111

Mam również ten problem i ostatecznie rozwiązałem go, wykonując następującą procedurę:

  1. Otwórz XXXXXX.storyboard
  2. Otwórz kartę Tożsamość i typ w prawym widoku Xcode.
  3. Ustaw wartość Development in Document Versioning na „Xcode 4.2” (moja wartość domyślna to „Default Version (Xcode 4.1)”.
  4. Zmień wartość wdrożenia z wersji Project SDK (iOS 5.0) na iOS 5.0, a następnie z powrotem na Project SDK Version (iOS 5.0)

Odbuduj projekt, a błąd powinien zostać rozwiązany.


To też zadziałało dla mnie, zmiana z GDB na LLVM nie wydawała się działać. Wydaje się, że zmiana Celu Wdrożenia na mniej niż 5.0 na ekranie Cel-> Podsumowanie ustawia tworzenie wersji dokumentu scenorysu (Xcode) z powrotem na 4.1, ale zmiana z powrotem na 5.0 nie zmienia wersji Xcode z powrotem na 4.2.
FractalDoctor

1
Musiałem też wyczyścić przed przebudową
Bushra Shahid

7
Miałem ten sam problem, ale nie mogłem go w ten sposób naprawić. W końcu udało mi się to poprawić, usuwając odniesienie do storyboardu, budując, dodając go z powrotem, a następnie budując ponownie.
smcmahon

1
Chciałbym, żeby to zadziałało dla mnie! Czuję, że powinno, na podstawie opinii, ale bez kostek, przepraszam. :(
Joe D'Andrea

1
Trochę dziwne, ale to, co zadziałało, to przeciągnięcie pliku storyboardu z xcode na biurko, wyczyszczenie, a następnie zbudowanie - nie ma sensu, wiem.
JARC

20

Rozwiązaniem, które zadziałało, było po prostu usunięcie ~/Library/Developer/Xcode/DerivedDatakatalogu dla mojego projektu.


Wydaje się, że byłby najbardziej niezawodny. To zadziałało dla mnie, gdy żadne inne odpowiedzi tutaj nie zadziałały.
Nicolas Renold

Jest to jedyna, która mi pomogła i bezwstydnie odrzucam odpowiedzi, które nie zadziałały. Przepraszam chłopaki ... ten stał się zbyt frustrujący.
David Morton

To zadziałało dla mnie. Co dziwne, usunięcie danych pochodzących z projektu z Organizatora nie działało, ale usunięcie całego folderu z wyszukiwarki tak.
obrabować

1
usunięcie folderu DerivedData jest zawsze pierwszą rzeczą, którą próbuję. Jednak nie pomogło tutaj
mózgowa modlitwa

17

Dodam tylko to jako kolejną możliwą odpowiedź, ponieważ pierwsze rozwiązania działały u mnie kilka razy (jak wspomniałem w poprzednim komentarzu) do dziś, kiedy nie mogłem skompilować mojego projektu z miłości ani pieniędzy ten sam błąd. Po zmianie debuggera i ustawieniu Xcode na 4.2 i kilkukrotnym ponownym uruchomieniu nie mogłem się skompilować. Jednak odkryłem inny sposób obejścia tego problemu.

Wybierz scenorys w lewej kolumnie i „Pokaż w Finderze” i przeciągnij scenorys na pulpit. Xcode zmieni teraz kolor na czerwony i nie będzie mógł się skompilować.

Wyczyść projekt, przeciągnij scenorys z powrotem z pulpitu do katalogu w Finderze.

Następnie narasta i błąd znika ponownie.

Nie wiem, co pierwotnie spowodowało błąd, ponieważ pracuję pod iOS5 i buduję dla 4.3, ale wydaje się, że pojawia się od czasu do czasu i.


To zadziałało dla mnie, podczas gdy zmiana wersji dokumentu i ponowne uruchomienie / czyszczenie nie działały.
Berik

uhhhh po prostu nie mogę ci wystarczająco podziękować (+1), to uratowało mi dzień :-)
PeterK

14

Wygląda na to, że jest to błąd w najnowszym XCode, na który również się natknąłem, wypróbowałem rozwiązanie OP polegające na zmianie debuggera i to nie przyniosło żadnego efektu.

Pojawiło się to dla mnie, odkąd próbowałem Storyboard z 4.3, a potem próbowałem zmienić z powrotem.

Moim rozwiązaniem było zamknięcie XCode, ponowne otwarcie i wyczyszczenie. Następnie skompilowałem i działało dobrze.

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


2
Cmd + Q - aby zamknąć xCode. Zwykłe „zamknięcie” nie jest pomocne.
beryl

Moje doświadczenie jest podobne do odpowiedzi FiddleMeRagged: to działało przez chwilę, a na razie nie działa (choć nie jest to również rozwiązanie Cotton5415). Więc niestety nie możesz oczekiwać, że będzie to działać w 100% przypadków, nawet jeśli czasami działa.
Tyler Collier

Tak! Proste rozwiązanie: ponownie otwórz xCode i po prostu Cleangotowe! =)
Emadpres

11

Podczas gdy inne rozwiązania mi pomogły, nie działały w 100%. Nie wiem wystarczająco dużo o XCode, aby wiedzieć, jak niezawodne jest to rozwiązanie, ale przynajmniej zadziałało, więc możesz wypróbować je w swoim projekcie.

Po lewej stronie Xcode otwórz nawigator projektu. Kliknij najwyższy element, czyli Twój projekt. W panelu bezpośrednio po prawej stronie zobaczysz wybór między swoim projektem a jego celami. Kliknij projekt, a następnie w panelu po prawej stronie, pod zakładką „Informacje”, ustaw „Używaj kompilacji z wiersza poleceń” na Debuguj (w moich dwóch projektach, w których wystąpił błąd, oba były ustawione na Zwolnij).

Zdjęcie jest prawdopodobnie najłatwiejsze:

Zdjęcie z Xcode

Inny pomysł : otwórz inny projekt z storyboardami w Xcode i spróbuj go uruchomić. Jeśli to się powiedzie, możesz wrócić do bieżącego projektu i powinien on zostać zbudowany. Myślę, że to wyraźnie wskazuje na błąd w Xcode.


Oww Yeahh! Że „Inny pomysł” działa! Próbowałem wszystkiego innego, ale żadne z nich nie działa!
Hlung

Tak, kolejna kompilacja projektu zakończyła się pomyślnie, teraz stara również kompiluje się bez błędów. Dzięki.
Adeel Pervaiz

7

Po wypróbowaniu wszystkich odpowiedzi tutaj (usunięcie odwołania do Storyboard, zamknięcie Xcode, czyszczenie, zmiana debugera itp.), Żadna nie działała (z Xcode 4.5).

Jedynym sposobem, w jaki udało mi się go odbudować (i było to całkowite przypuszczenie), było otwarcie pliku Storyboard w edytorze tekstu i usunięcie następującego wiersza:

<deployment version="1280" identifier="iOS"/>

Powinien znajdować się w górnej części pliku, w <dependencies>sekcji. Następnie projekt został pomyślnie skompilowany, a Xcode nawet ponownie dodał tę linię do pliku, ale nadal buduje ...

Domyśl...! Mam nadzieję, że może to komuś pomóc!


Usunięcie zarówno pozycji <wdrożenie ..>, jak i <opracowanie ..> działało przynajmniej dla jednego pliku scenorysu. Co dziwne, naprawiło to ten sam błąd „niedostępny w iOS 4.3” w innym, niepowiązanym projekcie ze scenorysami.
LearnCocos2D

6

Nareszcie eleganckie obejście, które wydaje mi się wystarczające! (Mam nadzieję, że to zadziała u wszystkich innych. Ten jest uparty).

Gdy ustawienia wrócą bezpiecznie do iOS 5-land, wypróbuj Cmd-Option-Shift K (aka „Wyczyść folder budowania ...” z menu - przytrzymaj Option, aby to zobaczyć), a następnie zbuduj.


Wypróbowałem wszystkie powyższe metody, ale bezskutecznie… dopóki nie spotkałem tego rozwiązania, które działa całkiem doskonale.
morph85

5

rozwiązanie jest proste, kliknij prawym przyciskiem myszy plik storyboardu i pokaż w wyszukiwarce, a następnie wybierz folder, w którym znajduje się plik (prawdopodobnie byłby to folder en.lproj), kliknij prawym przyciskiem myszy plik MainStoryboard.storyboard powodujący problem i otwórz z tekstem edit znajdź linię, która brzmi lub coś takiego:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

i zmień to na coś takiego:

<development defaultVersion="4300" identifier="xcode"/>

zapisz plik i skompiluj. Zrobione...


Po prostu usunięcie zarówno <wdrożenia ..>, jak i <rozwoju ..> (jeśli istnieją) z pliku storyboardu naprawiło to za mnie.
LearnCocos2D

4

Ok, próbowałem wszystkiego powyżej i problem nadal występował. Po prostu usuwam storyboardy (jako odniesienie nie przenoszę do kosza). następnie zbuduj pomyślnie; potem dodałem je ponownie; Zbuduj i wreszcie zadziałało.


Nie mogę nawet usunąć odniesień, ponieważ Xcode 4.6 ulega awarii, gdy tylko dotknę storyboardu
brainray

3

Miałem ten sam problem. Wypróbowałem wszystkie powyższe odpowiedzi i wszystkie kombinacje i nic nie działało. Później, po przeprowadzeniu pewnych badań, przeanalizowałem, że prosty fakt, że rzucany we mnie błąd, był prosty.

Po prostu przejdź do ustawień kompilacji i zamiast wybierać plik projektu xcode, wybierz plik produktu i zmień cel wdrożenia na 5.0 lub 5.1. Błąd powinien zgasnąć.! Zrobiłem to w Xcode 4.3 w Lion OSX. To działało dobrze dla mnie !!


3

Ja też miałem ten problem i nic nie pomogło. Nawet otwarcie kolejnego projektu i próba zbudowania nie powiodły się.

To, co zrobiłem i co dla mnie, to projekt -> informacje i pod „Cel wdrożenia” zmień cel wdrożenia iOS na cokolwiek, zbuduj, a potem zmień z powrotem na cokolwiek to było i zbuduj ponownie.


2

Oto kolejny losowy cep, voodoo, który wydawał się teraz obejść ten błąd. (po tym jak inne techniki tutaj nie pomogły) Zmieniłem nazwę pliku storyboardu (i wpisu do niego w pliku info.plist). Nie próbowałem jeszcze rytuału „przeciągnij do / z pulpitu”.

Dziś wieczorem straciłem z tym problemem jakieś 45 minut. grrrrr. Ok, teraz czuję się lepiej.


To zadziałało dla mnie i zredagowałem odpowiedź, dodając szczegółowe kroki. Zastanawiam się, kto był tak silny, aby downvote tę sugestię ...
brainray

korekta: działało to dla mnie, dopóki Xcode ponownie nie uszkodził projektu. Musiałem też przeinstalować Xcode ...
brainray

1

Po wypróbowaniu wszystkich powyższych sugestii, bez powodzenia, mój kod został skompilowany, wykonując następujące czynności.

Edit -> Refactor -> Convert to Objective-C ARC

1
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode

wydaje się pomagać w Xcode 4.3.2


1

Miałem podobny problem. XCode mógł dobrze zbudować i uruchomić inne projekty, ale nie mógł pozbyć się błędu w projekcie, który zmieniłem, nawet kopii zapasowych z serwera. Wypróbowałem wszystkie powyższe rozwiązania, ale nada. Oto, co zadziałało.

  1. Odinstaluj XCode.

  2. Usuń folder użytkownika / biblioteki / dewelopera / XCode.

  3. Ponownie zainstaluj XCode (może powinieneś zacząć to przed wyszukaniem folderu, pobieranie zajęło mi 20 minut).

  4. Uruchom, wyczyść i zbuduj.

Pracował dla mnie. Oszczędził mi trochę czasu. Czasami, gdy skalpel nie działa, czas na topór. Teraz mogę wybrać nową czcionkę do zakodowania (to wyczyści Twoje preferencje)!


Dzięki, to w końcu naprawiło to tutaj. Tylko dla innych: możesz zidentyfikować ten problem, jeśli pojawi się komunikat o błędzie „ibtool nie powiodło się z kodem zakończenia 255”.
brainray

-1

Jedynym rozwiązaniem, które zadziałało dla mnie, jest utworzenie innego projektu bez włączonej Storyboarding, skompilowanie go, a następnie powrót do projektu storyboardu, wyczyszczenie i skompilowanie.


-1

Oto kolejny losowy, voodoo, odłącz iPhone'a, jeśli jest podłączony.


-2

Po prostu zmieniłem cel wdrożenia na 4.0 i Development na 4.3 z MainStroyboard. Oczyszczam projekt; i zrestartowałem mac, :) Wiem, że to brzmi śmiesznie, ale ponowne uruchomienie xcode nie pomogło. może w pamięci jest cache ...

Następnie zbudowałem projekt; było dobrze!

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.