アプリをiPhone 5に対応させた話
iPhone 5が発売されて1週間経ちますが、最初の3日間で500万台を販売するなど相変わらず絶好調なようです。
一方で手に入れて早々にLINEのアカウントを初期化したりしましたが、僕は元気です。
iPhone 5で一番変化があったところはもちろん画面で、書くまでもなくより縦長になりました。その縦長ノッポディスプレイでiPhone 5に最適化されていないアプリを開くと、アプリの上下に黒い帯が入るという仕様になっており、とても残念な気持ちにさせてくれます。(それでもiPhone 4でRetina Displayに対応していないアプリを開いた時の破壊力に比べれば幾分ましですが)
というわけで、自分も手元のアプリたちを早速iPhone 5(+ iOS 6)に対応させました。
Androidとは違い、縦が多少長くなっただけなのでアプリの種類によっては対応はそこまで大変ではないのが唯一の救い。
以下iPhone 5に対応させる為に必要な手順を覚書。
事前にXcodeはversion 4.5の最新版にしておきます。
まずは今まで使っていた起動時に表示する画像、Default.pngとDefault@2x.pngに加えてDefault-568h@2x.pngという640x1136サイズの画像を用意してXcodeに追加します。
Navigation Controller + UITableViewのみでアプリを構築している場合は必要な作業はこのくらいです。後はiOS シミュレータを使ってiPhone Retina 4-inchとiPhone Retina 3.5-inchの両方で表示が崩れていないか確認します。実機がある場合はそちらでも一応確認しておくと安心です。
下の画像のようにUITableViewなどを使っていない画面の場合は、サイズが可変になっている領域をInterface BuilderのAuto Sizingを使って調整します。
後は、アップデートの際に今まで使用していたiPhone 4用のスクリーンショットに加え、iPhone 5用のスクリーンショットも必要になりますので、個別に用意します。
iPhone 5を持っていない場合はiOS シミュレータを使えばスクリーンショットが撮影できます。
と、UITableViewを使ったアプリの場合はわりと簡単に対応できるかと思います。逆に固定サイズで画面をつくっている場合は、調整がちょっとめんどくさいかもしれません。後はオブジェクトのサイズや位置をプログラミングで指定している場合に、画面サイズから数値を出している時は特に問題ないかと思いますが、いわゆるマジックナンバー的な感じで決め打ちの数字を入れちゃっている時などは、なるべく画面サイズから数値を出す形に変更した方が良いかと思います。
iPhone 5に対応していないからという理由でアプリを捨てられてしまうのは非常にもったいないので、簡単に対応できるアプリの場合は早めに対応してしまった方が良いかと思われます。
iOS 6に対応するアプリの開発の話はまた別な機会にでも。