RSS
piątek, 18 stycznia 2013
Programowanie iPhone - Jak tworzyć/migrować aplikacje tak, aby wykorzystywały nową rozdzielczość telefonu iPhone 5

Jest to prostsze niż przypuszczasz :).

Tworzenie aplikacji wykorzystujących wszystkie możliwości nowego iPhone-a wymaga zainstalowania nowej wersji środowiska Xcode (co najmniej 4.5). Może się to tez wiązać z koniecznością aktualizacji systemu operacyjnego, jeśli wciąż korzystasz ze starszej wersji OS np. Snow Leopard.


Gdy nowy Xcode jest już zainstalowany to wystarczy:

1. Dodać do projektu 4” grafikę startową plik Default-568@2x.png, bez tego nasza aplikacja będzie działała w rozdzielczości 960x640px z czarnymi marginesami widocznymi w górnej i dolnej części ekranu, tak jak pokazują to poniższe ekrany.


 Przykładowa scena aplikacji działającej na iPhone 5

 

 Jak tworzyć/migrować aplikacje tak, aby wykorzystywały nową rozdzielczość telefonu iPhone 5 Jak tworzyć/migrować aplikacje tak, aby wykorzystywały nową rozdzielczość telefonu iPhone 5 

 

Scena przed dodaniem nowego pliku startowego

 

Scena po dodaniu nowego pliku startowego - Default-568@2x.png

 

Nowa grafikę startową możemy w prosty sposób dodać korzystając z Xcode (drag and drop, ustawienia Target/Summary/Launch Images):

 

Jak tworzyć/migrować aplikacje tak, aby wykorzystywały nową rozdzielczość telefonu iPhone 5

Screen pokazujący brakujące pliki startowe: Default@2x.png, Default-568@2x.png.

 

Ten krok jest tak naprawdę jedynym koniecznym, aby nasza aplikacja zaczęła wykorzystywać nową rozdzielczość telefonu - 1136 (wysokość). W przypadku, gdy wykorzystuje ona poprawnie maski autoresize, wszystko powinno zacząć działać automatycznie.

To czy będą konieczne dalsze zmiany zależy od tego jak wyglądają i jak są skonfigurowane poszczególne sceny aplikacji (UIView), oraz czy i jak bardzo chcemy zmienić/dostosować ja do nieco większego ekranu.

Jeśli po dodaniu nowego pliku aplikacja nie wygląda tak jak powinna to możemy spróbować poprawić maski autoresize bądź, jeśli od teraz chcemy wspierać jedynie iOS6+, możemy rozważyć użycie mechanizmu Auto Layout  (nowość w iOS6).

Jeśli powyższe rozwiązanie nie może być z jakichś powodów zastosowane, bądź jeśli nie rozwiąże naszych problemów, koniecznym okazać się może stworzenie nowych plików graficznych dla iPhone-a 5 w nowej rozdzielczości i/lub zaprojektowanie/utworzenie nowych scen, które będą ładowane odpowiedniego, w zależności od tego z jakim modelem telefonu mamy do czynienia.

Rozmiar ekranu, a tym samym model telefonu, z jakim mamy do czynienia, możemy sprawdzić na przykład tak:


 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
	CGSize result = [[UIScreen mainScreen] bounds].size;
	if (result.height == 586)
	{
		//iPhone 5 setup
	}
}

 

O czym jeszcze warto pamiętać podczas migracji (lista będzie uaktualniania od czasu do czasu :)

1. Mechanizm autorotacji został zmieniony w iOS6


2. [UIImage imageNamed@”filename.png”] załaduje jedynie filename.png lub filename@2x.png a nie filename-568@2x.png nawet, jeśli plik istnieje.


3. Przy dodawaniu aplikacji do AppStore niezbędne będzie dostarczenie grafik (screenshotow) w „wysokiej” rozdzielczości (1136x640px), jeśli tego nie zrobimy, chwile po wysłaniu pliku aplikacji status zostanie zmieniony na Missing Screenshoot.


Tagi




PowerBuilder Tetris
D - Tetris



Programowanie iOS

C# ToolBox

SQL / TSQL / PLSQL ToolBox

Linux / Unix ToolBox





Zaprzyjaznione Strony

Sprite Bandits

Cake Time