Jak utworzyć obrazy uruchamiania dla aplikacji iPhone 6 / 6 Plus tylko w krajobrazie?

Mam istniejącą aplikację tylko krajobraz, że próbuję dodać iPhone 6 / iPhone 6 Plus wsparcie dla. Kiedy wspierałem iOS 6 / 7, po prostu użyłem domyślnych obrazów portretowych o nazwie launch z obrazem krajobrazowym obróconym w portret(np. dla ekranów 4 " stworzyłem krajobraz 1136x640, a następnie obróciłem, aby utworzyć obraz startowy 640×1136.)

Staram się, aby coś działało na iOS 8 i iPhone 6 / 6+ i nie wymyśliłem jeszcze czegoś, co działa. Oto kilka rzeczy, które Próbowałem:

  1. postępuj zgodnie ze wzorem dla 4-calowej konwencji obrazu uruchamiania ekranu. Stworzyłem [email protected] oraz [email protected] obrazy. To nie sztuczka symulator uruchomić w odpowiedniej rozdzielczości iPhone 6/6+, ale podczas uruchamiania, ekran 4 " Uruchom obraz jest używany, a nie nowe, które stworzyłem.
  2. użyj katalogu zasobów - tworzę portretowe obrazy uruchamiania dla iPhone 6 i iPhone 6 Plus w zasobie LaunchImages, a także Krajobrazowy dla iPhone 6 Plus. IPhone 6 Plus działa, ale iPhone 6 po prostu pokazuje czarny ekran. (Nie ma sposobu, aby utworzyć obraz uruchamiania krajobrazu iPhone 6 w katalogu zasobów)
  3. określa tablicę uilaunchimages w Info.plist z wpisami dla wszystkich rozmiarów ekranu (patrz odniesienie https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28)mam podobne wyniki do katalogu aktywów tutaj. Mogę dostać iPhone 6 Plus landscape działa, ale nie iPhone 6 landscape.
Author: Cœur, 2014-09-19

11 answers

Znalazłem obejście, które sprawia, że krajobraz działa tylko obrazy uruchamiania na iOS 8 GM. Skończyło się na użyciu tablicy UILaunchImages w Info.plist. Sztuką jest wyświetlanie obrazu, który nie obsługuje wyraźnie krajobrazu (iPhone 4/4s, iPhone 5/5S/5c, iPhone 6), musisz określić zduplikowane wpisy. Zobacz mój przykład poniżej. Dotyczy to tylko aplikacji na telefon krajobrazowy, która obsługuje obie orientacje dla iPada. iOS 7 powróci do domyślnych nazw obrazów.

Wszystkie zdjęcia z premiery iPhone ' a MUSZĄ BYĆ obrócony do orientacji pionowej, jak zwykle, z wyjątkiem obrazu uruchamiania iPhone 6 Plus. Natywnie obsługuje obrazy uruchamiania w orientacji poziomej, więc musisz zostawić obraz uruchamiania w orientacji poziomej.

Oto istotne fragmenty Twoich informacji.plist:

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{320, 480}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{320, 480}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-568h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-568h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-Portrait</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-Landscape</string>
        <key>UILaunchImageOrientation</key>
        <string>Landscape</string>
        <key>UILaunchImageSize</key>
        <string>{768, 1024}</string>
    </dict>
</array>
 75
Author: Alex Argo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-21 14:36:03

Zmienił się wzór dla iPhone 6 itp

IPhone 6 (750x1334):

Default-375W-667h@2x~iphone.png

IPhone 6 Plus: ( 1242x2208)

Default-414w-736h@3x ~ iphone.png

[email protected] (Dla Krajobrazu)

Uwaga Jeśli obsługujesz iPada, musisz zmienić nazwę domyślnych obrazów ipada, aby dołączyć ~ipad np. Default-Portrait~ipad.png, aby zapobiec podniesieniu tych 6 plus, ponieważ te nadpisują obraz 3x.

 61
Author: malhal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-14 22:29:23

Zadziałały dla mnie następujące kroki:

  1. Dodaj zdjęcia do projektu (katalog główny lub folder zasobów) z następującą nominacją( opiszę je w Portrait launchimages): domyślnie.png (3,5 cala), [email protected] (4 cale), [email protected] (iPhone 6), [email protected] (iPhone 6plus).
  2. Przejdź do ustawień docelowych, ikon aplikacji i uruchom obrazy na karcie Ogólne - > Ustaw źródło obrazu uruchamiania, aby nie używało katalogu zasobów ('nie używaj zasobów katalogi").
  3. Usuń zasób LaunchImage z głównego zasobu obrazu
  4. Przejdź do ustawień docelowych, ikon aplikacji i uruchom obrazy na karcie Ogólne - > Ustaw źródło obrazu uruchamiania, aby używało katalogu zasobów
  5. XCode 6 zapyta Cię o migrację zasobów obrazu z istniejących obrazów. Wystarczy kliknąć, aby przejść na "migrację".

I to działało dla mnie dla każdego rodzaju urządzeń na iOS7, iOS8. Uwaga: Jeśli sprawdzisz nowy zasób LaunchImage, zobaczysz, że jest on naprawdę dziwny. Wydaje się, że zawiera tylko kilka obrazów bez obrazów z rozdzielczością iphone6 lub iPhone 6plus.

 14
Author: ingaham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-07 15:31:09

Dla iPhone 6:

750 x 1334 (@2x) na portret
1334 x 750 (@2x) dla krajobrazu

Dla iPhone 6 Plus:

1242 x 2208 (@3x) na portret
2208 x 1242 (@3x) dla krajobrazu

LUB możesz przejść przez ten link to może Ci pomóc

Http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/

 11
Author: Amit Saini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-16 13:30:06

Jeśli używasz tylko obrazów.xassets "Launch Screen File" powinien być pusty. To mi pomogło.

"Uruchom plik ekranu" jest pusty

 11
Author: Nadzeya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-04 13:53:14

Jest to kontynuacja odpowiedzi @ AlexArgo, która rozszerza ją tak, aby aplikacje obsługujące tylko krajobrazy iOS 9 pokazywały odpowiednie obrazy startowe na iPhone ' ach z iOS 9. Podobnie jak w przypadku tej odpowiedzi, nie jest wymagany katalog zasobów, storyboard ani xib.

Bez tych dodatków, zachowanie, które widzieliśmy, polegało na tym, że uruchomienie naszej aplikacji tylko w krajobrazie na iOS 9 iPhone wyświetlał ten sam obraz, co w iOS 8, ale obraz był obracany o 90 stopni zgodnie z ruchem wskazówek zegara i zniekształcony przez rozciągnięcie do przeciwnej orientacji wymiary.

Pre-fix iOS 9 iPhone launch screen: Pre-Fix iOS 9 iPhone Launch Screen

Istnieją 2 części tego rozwiązania:

    W tym celu należy wysłać wiadomość e-mail na adres , a następnie wysłać wiadomość e-mail na adres .
  1. Dodaj nowe obrazy uruchamiania, o których mowa w poniższych elementach iOS 9 (np. Default-iOS9-568h) do Twojej aplikacji. Nowe obrazy startowe to rzeczywiste obrazy o orientacji "poziomej"(szersze niż wysokie), w przeciwieństwie do obrazów, do których odwołuje się @ AlexArgo na iOS 8 elementy, które zaczynały się jako obrazy krajobrazowe, ale następnie zostały obrócone do orientacji pionowej przed dodaniem do aplikacji. Należy pamiętać, że oba zestawy obrazów muszą pozostać w aplikacji, aby To rozwiązanie działało jednocześnie na iOS 8 i 9.

    <key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>9.0</string>
            <key>UILaunchImageName</key>
            <string>Default-iOS9</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{320, 480}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>9.0</string>
            <key>UILaunchImageName</key>
            <string>Default-iOS9-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>9.0</string>
            <key>UILaunchImageName</key>
            <string>Default-iOS9-667h</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{375, 667}</string>
        </dict>
        ...(pre-iOS 9 items)...
    </array>
    

Po naprawie iOS 9 iPhone launch screen: Tutaj wpisz opis obrazka

 4
Author: janoside,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-14 20:34:33

Aby pracować z iPadem (tryb poziomy i pionowy), musisz dodać klucz UILaunchImages~iPad w swoich informacjach.plist:

<key>UILaunchImages~ipad</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Landscape</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Portrait</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Landscape</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{748, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Portrait</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1004}</string>
        </dict>
    </array>
 2
Author: Myrddin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-18 13:40:00

Dla wszystkich iphone ' ów z wyjątkiem plusa, nie ma oddzielnego ekranu startowego dla aplikacji tylko krajobrazowych. Ustawiasz orientację w pliście zgodnie z opisem Deepaka, a następnie ustawiasz ekran startowy pionowy na obróconą wersję ekranu startowego poziomego.

Tak zawsze było, a jedyną rzeczą, która się zmieniła, jest to, że plus obsługuje teraz oddzielny, odrębny ekran uruchamiania krajobrazu. Wszystkie inne urządzenia nadal obsługują tylko ekrany startowe portretowe, niezależnie od Twoja aplikacja zaczyna orientację.

 1
Author: nheagy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-21 21:37:21

To, co zrobiłem, to zmienić mój projekt, aby nie używać katalogu zasobów dla obrazów uruchamiania, i użyć starej techniki dla iOS7 i wcześniejszych. Powoduje to, że obrazy startowe działają dla iOS7 i wcześniejszych.

Aby je również pracować dla iOS8, dzięki czemu można uzyskać prawidłową rozdzielczość i mieć aplikację rozpoznaną jako budowaną dla nowego iPhone 6/+, musisz również utworzyć nowy LaunchImage XIB i powiedzieć Xcode, aby go używać.

Wydaje się, że uruchomienie aplikacji na iOS8 urządzenie wykorzystuje nową technikę XIB, a uruchomienie jej na urządzeniu iOS7 lub wcześniejszym wykorzystuje obrazy, które już znasz i kochasz.

To chyba działa. Jest brzydki IMO, ale działa.

Mam nadzieję, że to pomoże niektórym ludziom.

 1
Author: PKCLsoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-23 01:12:22

Wystarczy dodać [email protected], a następnie naprawi się również dla krajobrazu. Mam również aplikację tylko krajobraz dla iPhone 6 i iPhone 6 Plus i działa bez problemów!

 0
Author: wagashi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-14 12:29:35

Aby uruchomić aplikację w trybie poziomym, edytuj swoje informacje.plik plist, aby dodać klucz interfejsu użytkownika z odpowiednią wartością (interfejs interfejsu użytkownika lub interfejs interfejsu użytkownika), jako poniższy kod. Daje to systemowi wskazówkę, aby odpowiednio ustawić orientację paska stanu w czasie uruchamiania.

Listing 1: Uruchamianie aplikacji w trybie poziomym

<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeRight</string> 

Aby uzyskać więcej informacji Kliknij tutaj

 -4
Author: Deepak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-19 05:09:52