こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

iPhone アプリの起動画面について

いつもお世話になっております。
表題の通り、xCode6.1を使い開発をしております。

iPad iOS7系で起動画面が表示されず困っております。

縦、画面固定、iOS7以降対応のアプリです。

状態
 Launch Image Source : LaunchImage
 Launch Screen File:LaunchScreen

images.xcassets
 iPhone Protrait iOS7,8 2x ⇒ 640*960
 iPhone Protrait iOS7,8 Retina4 ⇒ 640*1136
 iPad Portrait iOS 7,8 1x ⇒ 768*1024
 iPad Portrait iOS 7,8 2x ⇒ 1536*2048
上記、4つのみ指定し後は白枠のままの状態です。

iOS8の端末では、iPad,iPhone,iPhoneHD 問わず、LaunchScreenが問題なく表示されます。
iOS7の端末では、iPhoneでは指定した画像が表示されますが、iPadでは起動画面が表示されることなく起動してしまいます。

基本的な所だと思いますが、よろしくお願い致します。

投稿日時 - 2015-01-17 03:04:00

QNo.8894066

困ってます

質問者が選んだベストアンサー

対応デバイスをUniversalじゃなくてiPhoneにしているのでしたら、
iPad用の起動イメージは不要です。
iPadのiPhone互換モードで動作する時もiPhoneの起動イメージが使われます。

> 対応デバイスを、iPhoneにしている時でも、Launch Image SourceをDon't use asset catalogとして指定を外したら表示されるようになりました。

私もちょっと試してみました。確かにimages.xcassetsの起動イメージを
使用している時はiPadのiPhone互換モードで起動イメージが表示されず、
images.xcassetsの使用をやめて、Default~.pngを使うと表示されました。

なんとなくiPadのiPhone互換モードのバグのような気がしますが、
images.xcassetsを使わない方法で対応できるのでしたら、それで
作ればよいと思います。
(直してほしいならAppleにbug reportを送ればよいですが、iOS7は
もう直してくれないでしょう)

実はimages.xcassetsを使った方法は、ローカライズに対応できない
(各国用に起動イメージを変えられない)という問題もあるので、
私はこれまでAppStoreで公開したアプリでimages.xcassetsを使ったことありません。

> images.xcassetsでuniversalを指定しているわけではないのですが、どこで指定しているのでしょうか?
> ファイル名が、DefaultやDefault@2xで保存しているのでファイル名を優先的にみてロードしているのでしょうか?

そうです。images.xcassetsがなかった頃は、特定のファイル名を持つイメージを起動イメージとして使う仕組みになっていました。今もimages.xcassetsの設定がなければ、従来通りの仕組みで起動イメージを使います。
以下のURLが参考になると思います。
http://d.hatena.ne.jp/allmighty2/20101011/1286870915

投稿日時 - 2015-01-19 15:15:36

お礼

Lchan0211b 様

ご回答ありがとうございます。

>なんとなくiPadのiPhone互換モードのバグのような気がしますが、

やはりそうですよね。私のように、以前の仕様まで把握しないで作っている人は同じ混乱をしてしまいそうですね。
きっと、このページのLchan0211b様の回答を発見し、納得することが出来ると思うのでbug reportは見送りますf^^;

>実はimages.xcassetsを使った方法は、ローカライズに対応できない

なるほどですね。今のところ日本語に特化したアプリか、アプリのブランド名のロゴを表示させているアプリしか作った事がなかったので気がつきませんでした。
今後、起動画面をローカライズ対応させる時には注意したいと思います。

いつも適切なご回答を、本当にありがとうございます。

投稿日時 - 2015-01-19 19:24:48

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

iPad Landscape iOS 7,8 1x ⇒ 1024*768
iPad Landscape iOS 7,8 2x ⇒ 2048*1536

は設定してないんですか?

これを設定しないと、iPadを横置きにしている時は
起動画面が表示されないと思いますけど。

iPhoneは、ホーム画面が常にPortraitモード(縦置き表示)なので
起動イメージもPortlaitだけあればいいですが、
iPadは、ホーム画面がLandscapeモード(横置き表示)にも対応して
いるので、Landscapeモードの起動イメージも必要ですよ。

ついでに言うと、iPhone6 plusもホーム画面がLandscapeモード
に対応しているので、もしiPhone6用の起動イメージをLaunchScreen
でなくてLaunchImageで設定する場合は、やはりLandscapeモードの
起動イメージが必要です。LaunchScreenを使うなら、LaunchScreenの
UIViewが横置きに対応していれば大丈夫です。

投稿日時 - 2015-01-17 14:54:26

補足

いつもご回答ありがとうございます。

アドバイスして頂いた内容を基に、色々確認してみたところ
対応デバイスが、universalではなく、iPhoneになっている事が原因でした。

今回のアプリは、iPad用のデザインを作らず拡大モード?(iPadでもiPhoneアプリとして)で表示させていたのが、原因だったようです。

若干混乱しているのですが対応デバイスをuniversalにした所、起動画面は指定しているものが表示されるようになりました。
(デザインは、iPhone用に最適化してあったため若干崩れましたが)

対応デバイスを、iPhoneにしている時でも、Launch Image SourceをDon't use asset catalogとして指定を外したら表示されるようになりました。

images.xcassetsでuniversalを指定しているわけではないのですが、どこで指定しているのでしょうか?
ファイル名が、DefaultやDefault@2xで保存しているのでファイル名を優先的にみてロードしているのでしょうか?

お手数をおかけしますが、もしご存知でしたらアドバイス頂けますと光栄です。

投稿日時 - 2015-01-19 09:57:26

あなたにオススメの質問