Testuję ekrany uruchamiania obrazów na iPhonie X i napotkałem dziwne zachowanie. Chciałbym poprosić o opinię przed otwarciem radaru:
Stworzyłem ekran startowy pionowy i poziomy z wymiarami 1125 x 2436 Pixel
(portret) i 2436 x 1125 Pixel
(krajobraz). Następnie dodaję je do katalogu zasobów i są one poprawnie pobierane:
Na razie w porządku. Następnie uruchamiam aplikację na telefonie iPhone X Simulator (wcześniej zresetowałem aplikację, aby upewnić się, że nic nie jest buforowane) i wyświetlany jest (rozciągnięty) obraz poziomy.
Sprawdziłem, czy źródła png mają prawidłowe tło inne niż alfa i nadal nie mogę wyświetlić poprawnego ekranu startowego. Zauważyłem, że zdjęcie portretowe nie jest nawet kopiowane do powstałego produktu:
To może sugerować problem z Xcode 9. Wszelkie uwagi są mile widziane, dziękuję!
EDYTOWAĆ: Uwaga dodatkowa: Podczas usuwania obrazu poziomego z katalogu zasobów portret pionowy jest kopiowany i odbierany poprawnie.
AKTUALIZACJA 29.09.2017: Apple potwierdziło, że rzeczywiście jest to problem w Xcode i zostanie przekazany powiązanemu zespołowi inżynieryjnemu.
Odpowiedzi:
2 dla odpowiedzi № 1W przypadku iPhone'a X spróbuj użyć scenorysu z ekranem uruchamiania zamiast obrazów uruchamiania.
Zostało to wspomniane w nowym filmie „Building Apps for iPhone X” na stronie programistów Apple: https://developer.apple.com/videos/play/fall2017/201/
(Wspomina się o znaku 2:50).
Aby ustawić scenorys ekranu startowego, utwórz plik scenariusza i wybierz go z menu rozwijanego „Plik ekranu uruchamiania” w ustawieniach projektu.
2 dla odpowiedzi nr 2
Zostało to ostatecznie naprawione w Xcode 9.1 Beta 2 i nowszych!
1 dla odpowiedzi nr 3
Używanie tylko obrazu portretowego (i bez krajobrazu)jeden) wydaje się działać, przynajmniej na symulatorze. W każdym razie iPhone X może uruchamiać aplikacje tylko z portretu. Nie wiem, czy to rozwiązanie spowoduje problemy na rzeczywistym urządzeniu (iPhone X nie jest jeszcze dostępny w chwili pisania tego tekstu). Myślę, że tak nie jest.
0 dla odpowiedzi nr 4
To z pewnością błąd xCode 9, i tak samoproblem, nazwa pliku zasobu jest nieprawidłowa, zgodnie z poprzednią konwencją nazewnictwa muszą istnieć 2 pliki, LaunchImage-1100-Portrait-2436h@3x.png i LaunchImage-1100-L Landscape-2436h@3x.png (zwróć uwagę, dlaczego 2436h i nie 812h, wszystkie pozostałe rozdzielczości wyrażone są w punktach, a nie pikselach)