Amarronの日記

iOSやMac、Web系の記事を書きます。

iPhoneアプリ を iPadアプリ に 対応させる 方法

iPhoeアプリをiPadアプリとしてもAppStoreに配布する方法について書いてあります。 iPad対応するには、Xcodeで「ユニバーサルに変更」するのと「iPad用画像の設定」が必要となります。

環境

Xcode 5.1.1

流れ

  1. ユニバーサル化
  2. プログラム修正(修正が必要な場合のみ)
  3. 申請手続き

1. ユニバーサル化

DeviceをiPhoneからユニバーサルに変更する事でiPadに対応されます。

iPadのTAGETSを作ることで、TAGETS別にプログラムを変更出来るようになります。(「2. プログラム修正」で利用する場合があります)
ユニバーサルにすることによって、既存のiPhone用のxibがそのままiPadでも使えます。
また、iPadでアプリ起動時にiPhoneアプリとして起動するのではなく、iPad用アプリとして起動します。

  1. 「TARGETS->MyApp」を右クリックで「Depulicate」を選択
  2. 表示されたダイアログで「Duplicate and Transition to iPad」を選択(TARGETSにMyApp-iPadが追加されます)
  3. 1で選択した「「TARGETS->MyApp」の「General->Deployment Info->Devices」を「iPhone」から「Universal」に変更(この対応だけで(Depulicateで追加しなくても)iPadに対応します
  4. iPadで確認(実機の場合、右下に倍率を変更するボタンが表示されなければiPad用で開かれています)

f:id:Amarron:20140615124252p:plain

2. プログラム修正(修正が必要な場合のみ)

iPad用のアプリアイコン画像や起動時画像の追加、iPad用に細かいプログラム修正を行います。

  1. アプリアイコンの追加
    • 「TARGETS->MyApp->General->App Icons」でアプリアイコン画像(76x76,152x152)を設定
    • 「TARGETS->MyApp-iPad->General->App Icons」でアプリアイコン画像(72x72,144x144)を設定
  2. 起動画像の追加
    • 「TARGETS->MyApp->General->Launch Images」で起動画像画像(768X1024,1536X2048,1024X768,2048X1536)を設定
  3. プログラム修正(iPadで確認した時にレイアウト部分が崩れている場合は修正しましょう)
    • iOSアプリケーション プログラミングガイドによると「iPhone用とiPad用で、別々にビューコントローラのクラスを定義する」ことをお勧めしています。(別々に作った場合、Target Membershipにチェックを外すことでiPhoneiPadを切り替えることが出来ます)
    • 私は、新たにクラスを定義する程複雑なアプリではなかったので、同じクラスをif文で修正しました。(if([[UIDevice currentDevice].model isEqualToString:@"iPad"]){// iPadの調整})

f:id:Amarron:20140615124310p:plain

3. 申請手続き

  1. iTunes Connetで「Add Version」でバージョンアップ用アプリの追加手続きを行います。(iPhoneアプリと同じ手順)
  2. Xcodeでアーカイブ化しアプリをアップします。(iPhoneアプリと同じ手順)
  3. iTunes Connetでステータスが「Upload Received」に変更されると、iPad用のスクリーンショットを追加出来るようになるのでiPad用の画像(1536x2048 or 1536x2008)を設定しましょう。(iPadアプリで新しい手順)

※.1と2についてはわからない場合、App Store に iOSアプリ を 公開する方法の「3. 配布したいアプリの設定」を参照してください。

参考URL