Jak włączyć natywną rozdzielczość dla aplikacji na iPhone'a 6 i 6 Plus?

194

Xcode 6 GM zawiera teraz symulatory dla iPhone'a 6 i 6 Plus i domyślnie uruchamiają aplikacje w trybie skalowanym.

Aby włączyć nowy rozmiar ekranu, próbowałem dodać, [email protected]co wydaje się być częścią sztuczki, ponieważ aplikacja w ogóle nie działa, z błędem „Nie można uruchomić aplikacji w Symulatorze - Wystąpił błąd podczas działania (Domain = LaunchServicesError, Kod = 0) ”.

Czy ktoś wymyślił, jak uruchomić aplikację w rozdzielczości 6/6+?

villapossu
źródło
16
Jak powiedzieli inni, sztuczka polega na dodaniu do projektu obrazu startowego o odpowiednim rozmiarze. Napisałem krótki przewodnik, jak dodać obraz startowy, aby wyświetlić tutaj rozdzielczość iPhone'a 6 .
matthewpalmer,
1
to zadziałało dla mnie stackoverflow.com/questions/25755443/…
johndpope
2
Nazwy obrazów są różne dla iPhone'a 6/6 +. Dla mnie dodanie obrazu startowego dla wersji 6 i 6+ działało idealnie. Spójrz na tę odpowiedź, aby uzyskać prawidłową konwencję nazewnictwa: stackoverflow.com/a/27473877/1568532
fellowworldcitizen
Czy istnieje jakaś alternatywa zamiast korzystania z LaunchScreen?
Vaibhav Jhaveri

Odpowiedzi:

220

Możesz dodać plik ekranu uruchamiania, który wydaje się działać dla wielu rozmiarów ekranu. Właśnie dodałem MainStoryboard jako plik ekranu startowego, co powstrzymało skalowanie aplikacji. Myślę, że będę musiał później dodać stały ekran uruchamiania, ale dzięki temu natywna rozdzielczość wzrosła i działała szybko. W Xcode, przejdź do celu, ogólnego i dodaj tam plik ekranu startowego.

Uruchom plik ekranowy

David L.
źródło
2
Jest to prawdopodobnie najlepsze rozwiązanie, jeśli używasz jednej scenorysu, która obsługuje wszystkie urządzenia. Moja odpowiedź jest odpowiednia, jeśli nie używasz jednej scenorysu lub potrzebujesz osobnych, jednoznacznych obrazów uruchamiania.
rmaddy
Muszę ustawić wyraźne obrazy uruchamiania dla iPhone'a 6 i 6 Plus. Czy istnieje konwencja nazewnictwa, jeśli nie chcę korzystać z katalogu zasobów?
Radif Sharafullin
@Radif Sharafullin Tutaj znajduje się kilka instrukcji, jak nazwać obrazy uruchamiania: developer.apple.com/library/prerelease/ios/documentation/iPhone/… . Przewiń do samego końca, aby uruchomić wzorzec nazewnictwa obrazów.
David L
6
Pamiętaj, że po migracji do LaunchImageiOS nie będzie już rozciągać aplikacji iPhone-5 na iPhone-6 (i 6+). Co może zepsuć interfejs aplikacji, jeśli tworzysz widoki o rozmiarze bezwzględnym, takim jak szerokość 320 pikseli i nie używasz rozmiaru względnego przy użyciu autowkładów.
atulkhatri
1
@ bobo2000 design responsywnie.
mattsven,
116

Jeśli korzystasz z katalogów zasobów, przejdź do katalogu zasobów LaunchImages i dodaj nowe obrazy uruchamiania dla dwóch nowych iPhone'ów. Może być konieczne kliknięcie prawym przyciskiem myszy i wybranie „Dodaj nowy obraz uruchamiania”, aby zobaczyć miejsce, w którym można dodać nowe obrazy.

IPhone 6 (Retina HD 4.7) wymaga obrazu portretowego o rozdzielczości 750 x 1334.

IPhone 6 Plus (Retina HD 5.5) wymaga zdjęć pionowych i poziomych o rozmiarach odpowiednio 1242 x 2208 i 2208 x 1242.

rmaddy
źródło
2
Chciałbym wybrać dwie prawidłowe odpowiedzi, ponieważ wszystko wydaje się bardzo poprawne. Jeszcze nie zacząłem używać katalogów zasobów (cóż, po prostu bezskutecznie próbowałem adoptować jeden - w jakiś sposób aplikacja nie znalazła tam obrazów uruchamiania), ale przypisanie pliku ekranu uruchamiania było łatwą naprawą.
villapossu
Powinno być możliwe dodanie odpowiednich obrazów uruchamiania bez korzystania z katalogów zasobów. Ale nie wiem od razu, jak się do nich odwoływać w Info.plist.
rmaddy
Czy muszę faktycznie dodać obraz? Włączyłem je i nadal się skaluje.
Epic Byte
Tak, musisz faktycznie dodać obrazy (lub użyć nowego „pliku ekranu uruchamiania” (ale dotyczy to tylko systemu iOS 8).
rmaddy
1
@trumpetlicks Plus renderuje do większego celu, a następnie skaluje renderowanie do rzeczywistego rozmiaru ekranu, tą samą techniką, co MacBook Pro Retina. Ponadto Plus może faktycznie uruchamiać aplikacje w krajobrazie, żaden inny iPhone nie może
hokiewalrus
104

Zrobiłem podstawowe czarne ekrany uruchamiania, dzięki którym aplikacja będzie poprawnie skalować się na iPhonie 6 i iPhonie 6+:

Portret iPhone'a 6

iPhone 6 Plus Portret

Jeśli masz już plik LaunchImage w .xcassett, otwórz go, przejdź do trzeciej karty w prawym menu w Xcode i zaznacz obrazy iPhone'a iOS 8.0, aby dodać je do istniejącego zestawu. Następnie przeciągnij obrazy na:

wprowadź opis zdjęcia tutaj

A.Badger
źródło
52

Nie chciałem przedstawiać katalogu zasobów.

Zgodnie z odpowiedzią od konika morskiego tutaj , dodanie do info.plist działało dla mnie. (Zredagowałem go jako „kod źródłowy”.) Następnie nazwałem obrazy [email protected] i [email protected]

<key>UILaunchImages</key>
<array>
    <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-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
</array>
William Jockusch
źródło
Ta odpowiedź jest świetna. Umożliwia łatwe korzystanie z obrazów w celu przejścia z ekranu powitalnego do aplikacji. Żadne inne rozwiązanie (katalog zasobów lub plansz) nie pozwala na to tak łatwo.
jjxtra
7
Pracowało dla mnie (dzięki!), Ale przestało rozpoznawać obraz startowy 568h @ 2x, dezaktywując obsługę rozmiaru iPhone 5. Musiałem tylko dodać kolejny przedmiot podobny do dwóch powyższych, ale określając 568 godzin. (określonych dziedzinach: Default-568h, {320, 568})
Steph THIRION
To samo dotyczy iPhone'a 4S.
Josh Bernfeld
1
właśnie sprawiło, że (na symulatorze) określone pliki obrazów nawet nie muszą istnieć.
glasz
Mam problem z tą techniką na iPhonie 6: najpierw pokazuje ekran startowy [email protected], a następnie krótko pokazuje Default-Portrait@2x~iphone.png. Dowolny pomysł?
Samuel
21

Pamiętaj, że iPhone 6 będzie korzystał z rozdzielczości 320pt (640px), jeśli włączyłeś opcję „Zoom ekranu” w telefonie iPhone> Ustawienia> Wyświetlacz i jasność> Widok.

tomi44g
źródło
Chciałbym, żeby to było lepiej udokumentowane!
bobo2000
Właśnie uratowałeś mi dzień. Wypróbowałem wszystkie inne rozwiązania, ale mój problem polegał tylko na tym, że urządzenie było w trybie powiększenia.
MessuKilkain
8

Wykonaj następujące czynności (patrz na zdjęciu)

  1. Przejdź do katalogu zasobów
  2. kliknij prawym przyciskiem myszy i wybierz „Dodaj nowy obraz uruchamiania”

    • iPhone 6 -> 750 x 1334
    • iPhone 6 Plus -> 1242 x 2208 i 2208 x 1242

wprowadź opis zdjęcia tutaj

Umar Farooq
źródło
3

Wystąpił błąd podczas działania (Domain = LaunchServicesError, Code = 0)

Zwykle oznacza to, że installd zwrócił błąd podczas procesu instalacji (złe zasoby lub podobne).

Niestety, Xcode nie wyświetla rzeczywistego błędu podstawowego (nie krępuj się w tworzeniu kopii tego znanego błędu).

Powinieneś sprawdzić ~ / Library / Logs / CoreSimulator / CoreSimulator.log, który zarejestruje dla Ciebie podstawowy błąd.

Jeremy Huddleston Sequoia
źródło
Dzięki! Nie był świadomy tego dodatkowego wglądu w podstawową przyczynę błędu. Szczegółowy dziennik niewiele mi mówi, ale przynajmniej mam coś, co mogę dołączyć do archiwum radarowego.
villapossu,
0

Jeśli korzystasz z katalogu zasobów i masz wiele celów korzystających z tego samego pliku katalogu zasobów, upewnij się, że ten plik sprawdził oba cele w prawym panelu w xcode.

To był mój problem.

wprowadź opis zdjęcia tutaj

luky
źródło