Chcę uzyskać prosty ekran uruchamiania, który będzie wyświetlany w mojej aplikacji, zbudowanej przy użyciu Xcode 6.0.1.
Dodałem ekran startowy na dwa sposoby: jako XIB (z domyślną nazwą LaunchScreen.xib) oraz jako obraz startowy ustawiony w xcassets.
Upewniłem się, że mój „Plik ekranu uruchamiania” jest ustawiony na LaunchScreen.xib.
Symulowałem każde dostępne urządzenie (np. „IPhone5 iOS8” / „iPhone5s iOS8” / „iPhone6 iOS8”. Należy pamiętać, że w symulatorze dostępny jest tylko iOS 8).
ios8
xcode6
xcasset
launchimage
Eddie Hartman
źródło
źródło
Odpowiedzi:
Więc to było dość bolesne dla czegoś, co powinno być trywialne. Oto co zrobiłem:
Użyj xcassets
Zdecydowałem się użyć .xcassets zamiast .xib do uruchomienia. Usunąłem plik .xib. Jeśli masz już obrazy.xcassets w swoim projekcie, to świetnie, w przeciwnym razie możesz dodać jeden z Plik> Nowy> plik:
Utwórz zestaw obrazów uruchamiania
Teraz utwórz co najmniej zestaw uruchomień i zestaw ikon w pliku .xcassets, klikając prawym przyciskiem myszy w obszarze nawigatora.
Zaktualizuj ikony aplikacji i ustawienia uruchamiania obrazów
Następnie upewniłem się, że „ikony aplikacji i zestawy obrazów” w moim celu są takie jak poniżej.
Bardzo ważne: upewnij się, że ustawienie „Uruchom plik ekranu” jest puste.
Dodaj obrazy
Wreszcie terminologia używana przez Apple do wyboru urządzenia jest myląca. Początkowo myślałem, że skoro wdrażam tylko dla iOS8 (iPhone Portrait), mogę to zrobić i po prostu umieścić obrazy startowe iPhone'a 6 i iPhone'a 6+:
Szybko zdałem sobie sprawę, że to nie działa i otrzymałem ostrzeżenie: „Wymagany jest obraz startowy iPhone Retina (4-calowy) dla systemu iOS 7.0 i nowszych”.
Musiałem więc wybrać iPhone'a pod iOS 7.0 i nowszym i dodać obraz dla iPhone'a 5s.
Aby więc dowiedzieć się, które pola zaznaczyć po prawej stronie, nie zadawaj pytania: Jaki jest mój minimalny iOS oraz orientacja urządzenia i urządzenia, a raczej zapytaj:
Jakie urządzenia obsługują mój minimalny system iOS? Teraz jakie jest minimalne iOS obsługiwane na tych urządzeniach? I upewnij się, że zaznaczyłeś wszystkie te pola. Tak więc moim celem jest iPhone 5s, 6 i 6 Plus w wersji 8.0, ale biorąc pod uwagę, że iPhone 5s może istnieć w wersji 7.0, muszę również zaznaczyć pole 7.0, aby wyświetlić symbol zastępczy obrazu. Innymi słowy, pole wyboru (iOS) po prawej stronie pokazuje minimalną wersję iOS dostępną dla tego urządzenia i musisz ją kliknąć, aby wyświetlić symbol zastępczy obrazu i umieścić obraz niezależnie od tego, czy wdrażasz w tej wersji iOS, czy nie .
Mam nadzieję, że to komuś pomoże.
źródło
Wartości
LaunchScreen.xib
i infoLaunch screen interface file base name
pochodzą z mojego doświadczenia, oba symbole zastępcze, które są tworzone podczas tworzenia projektu. Jeśli chcesz używaćImages.xcassets
wyłącznie dla ekranów uruchamiania, usuń zarówno element , jakLaunchScreen.xib
iinfo.plist
.Jeśli podasz
info.plist
ustawienie, aplikacja będzie używać rozszerzenia,xib
a nieImages.xcassets
źródło
Xcode 8:
Obrazy używane w LaunchScreen.xib nie powinny znajdować się w pliku .xcassets, spróbuj upuścić je w pakiecie.
Wygląda na to, że do czasu załadowania pliku .xib obrazy w plikach .xcassets nie są jeszcze dostępne.
EDYCJA: Z jakiegoś nieprzejrzystego powodu po dodaniu niektórych lokalizacji ekran uruchamiania przestał działać, teraz działa z obrazem z zasobów, niezwykle dziwne.
źródło
/Library/Caches/Snapshots/<<app_bundle>>/
ukończone przed załadowaniem plików pomocniczych, w tym niestandardowych czcionek i katalogu zasobów.Moim rozwiązaniem było utworzenie wszystkich obrazów startowych.
Następnie ustawiam źródło obrazów uruchamiania na zasób LaunchImage i zostawiam pusty plik ekranu uruchamiania.
Wreszcie, jeśli projekt nie ma pliku Launch Screen.xib, dodaj ten plik i pozostaw go tak, jak jest.
źródło
U mnie zadziałało, gdy odinstalowałem aplikację, a następnie ponownie uruchomiłem symulator. Po ponownej instalacji obraz startowy wyglądał zgodnie z oczekiwaniami. To również działało na rzeczywistym urządzeniu.
źródło
Dla osób, które używają
Asset Catalog's Launch Image
, ponieważ nauczyłem się tego najtrudniej, miałem taki scenariusz, w którym najpierw otrzymałemjpg
plik, a następnie poprosiłem o przekonwertowanie go naPNG
.Zaufałem im na tyle, że najpierw przeszukałem Internet, aby dowiedzieć się, dlaczego obraz startowy nie jest wyświetlany i zrobiłem każde rozwiązanie bezskutecznie, a następnie spróbowałem przywrócić stary obraz startowy i działało dobrze, to właśnie wtedy pomyślałem, co ja have nie jest odpowiednim
PNG
plikiem.TL; DR: Upewnij się, że używasz właściwego pliku PNG, a nie pliku z rozszerzeniem o zmienionej nazwie.
źródło
Usunięcie „Nazwa bazowa pliku interfejsu ekranu startowego” z pliku Info.plist ORAZ koszowanie „Launch Screen.xib” działało dla mnie.
źródło
Po prostu usunięcie i ponowne zainstalowanie aplikacji zadziałało:
Testowanie w symulatorze
Testowanie na urządzeniu
źródło
Problem z zaakceptowaną odpowiedzią polega na tym , że jeśli nie ustawisz pliku ekranu uruchamiania, Twoja aplikacja będzie w trybie skalowania w górę na urządzeniach takich jak iPhone 6 i 6+ => rozmyte renderowanie.
Poniżej znajduje się, co zrobiłem, aby mieć kompletne działające rozwiązanie (celuję w iOS 7.1 i używam Xcode 8) na każdym urządzeniu (naprawdę szalałem na punkcie tego problemu ze skalowaniem)
1. Przygotuj swoje pliki .xcassets
Aby to uprościć, używam wektorowego pliku .PDF. Jest to bardzo wygodne i pozwala uniknąć tworzenia wielu obrazów dla każdej rozdzielczości (1x, 2x, 3x ...). Zakładam również, że utworzyłeś już swoje xcassets.
2. Utwórz plik ekranu uruchamiania
3. Dodaj obraz do pliku ekranu uruchamiania
4. Dodaj plik Launch Screen do celu
Fianlly, we właściwościach Target General, odnieś się do pliku Launch Screen.
Uruchom aplikację, a powinien zostać wyświetlony ekran powitalny. Wypróbuj również na iPhonie6 i iPhonie6 +, a Twoja aplikacja powinna być poprawnie wyświetlana bez skalowania w górę (plik ekranu uruchamiania ma to zrobić).
źródło
Po kilku godzinach sfrustrowany zdecydowałem się skorzystać z tego sposobu. Działa zarówno na iPhonie, jak i na iPadzie (na Xcode 6.1)
1 zdjęcie jest warte więcej niż tysiąc słów. Proszę spojrzeć poniżej:
źródło
Czytałem o błędzie w Xcode 6, który uniemożliwia aplikacjom tylko krajobrazowym wyświetlanie obrazu startowego.
Spróbuj ustawić obrazy i orientację w Images.xcassets:
źródło
Występuje błąd polegający na tym, że obrazy uruchamiania Xcode 6 przechowywane w plikach zasobów powodują, że aplikacje na iPhone'a w wersji poziomej na iOS7 / iOS8 wyświetlają czarny obraz uruchamiania. iPad działa dobrze.
http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868
Rozwiązanie: użyj nowego Launchscreen.xib dla ios8 + i nowszych. (jest o wiele lepiej)
Aby urządzenia ios7 działały, po prostu wyłącz źródło obrazów uruchamiania i użyj starych nazw plików obrazów uruchamiania w plist
Bolesne, ale działa. b
źródło
Próbowałem wszystkiego, ale rozwiązanie było niezwykle proste. Po prostu użyj pliku .jpg zamiast .png na swojej LaunchScreen.storyboard. Wygląda na to, że iOS nie renderuje pliku .png lub stosunkowo dużego rozmiaru obrazu na ekranie uruchamiania.
źródło
Zrób to, na co odpowiedział Spectravideo328 i:
Spróbuj ODCZYTAĆ pudełko iOS 7 i nowszych i SPRAWDŹ pudełko iOS 6 i starsze w katalogu zasobów. Wygląda na to, że wystąpił błąd w obrazie uruchamiania systemu iOS 7. (Oba mają te same obrazy startowe, z wyjątkiem 320x480)
Mam nadzieję, że to pomogło, pomogło mi!
źródło
Ustawiłem „LaunchImage” w moim katalogu zasobów i po prostu wyczyściłem pole „Launch Screen” i voila! Pojawiły się obrazy startowe ...
źródło
Jednym ze sposobów jest dodanie „Launch Screen” (
LaunchScreen.xib
), wklejenie obrazu do,UIImageView
a następnie ustawienie go na „ Horizontal Center in Container ” i „ Vertical Center in Container ” w „Align”, jeśli używasz automatycznego układu.Ekran: http://i.stack.imgur.com/CfnHT.png
Nie zapomnij umieścić
LaunchScreen.xib
w "Launch Screen File".źródło
Miałem ten sam problem po rozpoczęciu korzystania z Xcode 6.1 i zmianie obrazów programu uruchamiającego. Wszystkie obrazy miałem w katalogu zasobów. Otrzymałbym tylko czarny ekran zamiast oczekiwanego statycznego obrazu. Po wypróbowaniu tylu rzeczy zdałem sobie sprawę, że problem polegał na tym, że w katalogu zasobów zaznaczono opcję „Członkostwo docelowe” projektu w widoku FileInspector. Zaznaczenie go na ON zrobiło magię i obraz zaczął się pojawiać po uruchomieniu aplikacji.
źródło
Moja sugestia jest taka, aby wybrać opcję Uruchom źródło obrazu jako Image.Assets. Utwórz zasoby obrazu powitalnego w folderze Image.assests.
Obraz referencyjny dla właściwej konfiguracji:
źródło
Próbowałem otworzyć nowy projekt i przejść przez te same kroki, które wykonałeś, aby ustawić ekran startowy.
Domyślnie plik .xib był ustawiony jako „Uruchom plik ekranu”, a biały ekran z etykietą był wyświetlany przez pół sekundy w symulatorze.
Następnie uruchamiam „Launch Images Source” i ustawiam go na Images.xcassets, które generuje obrazy tła, które dodałem do projektu. (jak na razie wszystko dobrze)
Uruchom ponownie symulator, a obrazy startowe nie wyświetlają się ...
Po usunięciu określonego „Launch Screen File” i wyczyszczeniu: Product -> Clean, z górnego menu, w końcu pojawiają się obrazy startowe.
Może to pomoże?
źródło
Istnieje plik „LaunchScreen.xib” automatycznie dodany do twojego projektu Usunięcie tego spowoduje przeniesienie xCode do używania domyślnych obrazów w Images.xcassets
edytowane, aby dodać przejdź do ikon aplikacji i obrazów uruchamiania Plik ekranu uruchamiania powinien być pusty / pusty
źródło
Miałem bardzo dziwny błąd. Najwyraźniej moje źródło obrazu uruchamiania było ustawione tylko na konfigurację debugowania, a nie na wydanie. Spowodowało to, że mój ekran startowy pojawił się podczas uruchamiania konfiguracji debugowania, ale kiedy zmieniłem wersję na wersję, po prostu pojawił się czarny ekran.
Naprawiłem to, gdy zmieniłem konfigurację kompilacji, aby zwolnić przycisk Uruchom źródło obrazu i musiałem ponownie wybrać opcję Użyj katalogu zasobów.
Dla ciekawskich tak wyglądał mój project.pbxproj.
źródło
Z jakiegoś powodu musiałem zmienić lokalizację katalogu zasobów na „względem projektu”, aby to zadziałało.
Usunąłem również aplikację z telefonu i zainstalowałem ją ponownie, ale prawdopodobnie zrobił to „krewny projektu”.
źródło
* (Tylko Xcode 7.2 / Deployment Target 7.0 / orientacja pozioma) *
Wiem, że to stare pytanie, ale w Xcode 7.2 nadal otrzymuję wiadomość i naprawiłem to:
1) Wybierz PORTRET i oba krajobrazy. Dodaj „Uruchom źródło obrazów” i „Uruchom plik ekranu”
2) W obrazie startowym wybierz iPhone'a „8.0 i później” oraz „7.0 i później”.
3) Dodaj ten kod do swojej aplikacji
4) Dodaj to do swojego ViewController
Mam nadzieję, że pomogę komuś innemu.
źródło
To działa dla mnie. Kliknij LaunchScreen.storyboard, a następnie w prawym panelu możesz zaznaczyć pole wyboru „Jest kontrolerem widoku początkowego”.
LaunchScreen.storyboard -> Jest początkowym kontrolerem widoku
źródło
Właśnie to rozgryzłem. Mój obraz startowy nie wyświetlał się, podczas uruchamiania na urządzeniu (iPhone 6, 7+) lub testFlight pojawia się biały ekran. Poprawka: zmieniono nazwę „Landing_screen.png” na „Landing_screen” usuwając część .png. Ikona obrazu w Xcode została zmieniona na białą ikonę, aw scenorysie ekranu startowego obraz pojawia się teraz jako znak zapytania. Pojawia się teraz obraz startowy, a nie biały ekran. Moja konfiguracja: używam Swift 3.1 z Xcode 8.3.1. W LaunchScreen.storyboard dodałem prosty widok obrazu i rozciągnąłem go, aby pasował do kontrolera widoku. Ustawiłem ograniczenia automatycznego układu Top / Bottom / Leading / Trailing space to superview na 0.
źródło
Jeśli zmieniłeś obraz startowy z poprzedniego obrazu i zwróć uwagę na następujące kwestie:
Jest to prawdopodobnie spowodowane buforowaniem obrazu uruchamiania wykonanego przez iOS. Ponowne uruchomienie urządzenia powinno rozwiązać problem.
źródło
Napotkałem ten błąd również w mojej aplikacji tylko w orientacji poziomej. Następujące rozwiązanie Carlodurso działa:
źródło
U mnie działa, gdy usunę go
LaunchScreen.xib
i zmienię na plik storyboarduLaunchScreen.storyboard
.źródło