web-dev-qa-db-ja.com

起動画像が私のiOSアプリに表示されない

Xcode 6.0.1を使用して構築された簡単な起動画面を自分のアプリに表示したい。

起動画面を2つの方法で追加しました。XIBとして(デフォルト名はLaunchScreen.xib)、およびxcassets内の起動画像セットとして。

私の "Launch Screen File"がLaunchScreen.xibに設定されていることを確認しました。

利用可能なすべてのデバイスをシミュレーションしました(例: "iPhone 5 iOS 8"/"iPhone 5s iOS 8"/"iPhone 6 iOS 8"。シミュレーター内ではiOS 8のみが使用可能です)。

144
Eddie Hartman

だからこれは些細なことにすべき何かのために非常に痛みを伴うものでした。これが私がしたことです:

xcassetsを使用する

起動には.xibと.xibを使用することにしました。 .xibを削除しました。あなたのプロジェクトにすでにimages.xcassetsがあるのであれば素晴らしいですが、そうでなければFile> New> fileから追加することができます。

AddNewASsetCatalog

起動イメージセットを作成する

ナビゲーター領域を右クリックして、最低限、起動イメージセットとアイコンセットを.xcassetsファイルに作成します。

Add new Launch image and app icon

アプリのアイコンを更新して画像設定を起動する

それから私は私のターゲットの "アプリのアイコンと画像セット"が以下の通りであることを確認しました。

非常に重要:「Launch screen file」設定が空白であることを確認してください。

Apps icon and image sets

画像を追加する

大事なことを言い忘れましたが、デバイスの選択にアップルが使用している用語は混乱を招きます。私は最初iOS8のみ(iPhone Portrait)用にデプロイしているので、これを実行してiPhone 6とiPhone 6+の起動イメージを入れることができると思いました。

Devices

私はすぐにこれがうまくいかないことに気付きました、そして私は警告を得ていました:「iOS 7.0以降のためのiPhone Retina(4インチ)起動画像が必要です」。

そのため、iOS 7.0以降のiPhoneも選択し、iPhone 5s用のImageを追加する必要がありました。

右側のチェックボックスを確認するには、質問をしないでください。私の最低限のiOSとデバイスおよびデバイスの向きは何ですか。

私の最低限のiOSをサポートできるのはどのデバイスですか?今それらのデバイスでサポートされている最小のiOSは何ですか?そして、あなたがそれらのボックスのすべてをチェックすることを確認してください。したがって、私にとっては、iPhone 5s、6、および6 Plusを8.0でターゲットにしていますが、iPhone 5sは7.0でも使用できるため、イメージプレースホルダを表示するには7.0ボックスもチェックする必要があります。つまり、右側の(iOS)チェックボックスには、そのデバイスで利用可能な最小のiOSバージョンが表示されます。このiOSバージョンで展開しているかどうかにかかわらず、クリックしてイメージプレースホルダを表示してイメージを配置する必要があります。 。

これが誰かに役立つことを願っています。

Adding all devices

enter image description here

234
Khaled Barazi

LaunchScreen.xibと情報値Launch screen interface file base nameは私の経験から、プロジェクトが作成されるときに作成される両方のプレースホルダーです。起動画面専用にImages.xcassetsを使用したい場合は、LaunchScreen.xibinfo.plistの両方の項目を削除してください。

info.plist設定を指定した場合、アプリはImages.xcassetsではなくxibを使用します。

31
arcady bob

Xcode 8:

LaunchScreen.xibで使用されている画像は、.xcassetsではにならないようにしてください。バンドルにドロップしてみてください。

.xibがロードされるまでに、.xcassetsのイメージはまだ利用できないように見えます。

編集:いくつかのローカライズを追加した後、いくつかの不明瞭な理由で、起動画面が動作しなくなりました、今それは資産からの画像で動作します、非常に奇妙な。

19
Juan Boero

私の解決策はすべての打ち上げ画像を作成することでした。 enter image description here

次に、Launch Images SourceをLaunchImageアセットに設定し、起動画面ファイルを空白のままにします。

最後に、プロジェクトにLaunch Screen.xibがない場合は、そのファイルを追加してそのままにします。 enter image description here

16
Andre Dublin

私にとっては、アプリをアンインストールしてからシミュレータを再起動するとうまくいきました。再インストールしたときに、起動イメージが期待どおりに表示されました。これは実際のデバイスでも機能しました。

12
Sushant Shidore

Asset Catalog's Launch Imageを使っている人たちにとって、私はこれを最も難しい方法で学んだので、私は最初にjpgファイルを与えられ、次にそれをPNGに変換するように頼むというこのシナリオを持っていました。

私は最初に打ち上げの画像が表示されていない理由についてインターネットを精査して無駄にすべての解決策を講じたことを十分に信頼し、それから私は古い打ち上げの画像を元に戻しても問題なく動いていました。 haveは適切なPNGファイルではありません。

TL; DR:実際に拡張子が変更されたファイルではなく、適切なPNGファイル。

11
Bryan P

Info.plistファイルから「Launch Screen Interface File Base Name」を削除し、「Launch Screen.xib」をゴミ箱に入れるとうまくいきました。

10

アプリを削除して再インストールするだけでうまくいきました。

  • シミュレータでテストする

    1. シミュレータでアプリを削除します。
    2. シミュレータを終了して再起動します。
    3. Xcodeでプロジェクトをもう一度実行します。

  • デバイスでのテスト

    1. デバイスからアプリを削除します。
    2. Xcodeでプロジェクトをもう一度実行します。
6
cosine

受け入れられた答えの問題は、それです起動画面ファイルを設定しない場合、あなたのアプリケーションはiPhone 6&6+ =>ぼやけたレンダリングのようなデバイス上でアップスケーリングモードになるでしょう

以下は、私がすべての機器で(iOS 7.1をターゲットとし、Xcode 8を使用して)完全に機能するソリューションを作成するために行ったことです(本当に、この拡大する問題に夢中になっていました)。

1。あなたの.xcassetsを準備してください

わかりやすくするために、ベクターの.PDFファイルを使用しています。非常に便利で、各解像度(1倍、2倍、3倍...)に複数の画像を作成することを避けます。私はまたあなたがすでにあなたのxcassetsを作成したと仮定します。

  • 起動画面の画像(またはベクターファイル)をプロジェクトに追加します。
  • あなたの.xcassetsに行き、New Image Setを作成してください。画像の属性ウィンドウで、スケール - >シングルスケールを選択します。
  • ベクターファイルを画像セットにドラッグアンドドロップします。

Create an Image Set for your .xcassets

2。起動画面ファイルを作成します。

Create a Launch Screen file

。起動画面ファイルに画像を追加してください

  • 起動画面ファイルにImage Viewオブジェクトを追加します(自動的に作成されたラベルを削除します)。この画像表示は前の。xcassets画像セットを参照する必要があります。 Name属性から参照できます。この段階では、起動画面の画像が画像ビューに正しく表示されているはずです。
  • 画面解像度に応じて縦横比を維持するために、この画像ビューに制約を追加してください。

Add the splash screen image to your Launch Screen file

4。起動画面ファイルをターゲットに追加してください

最終的には、Target GeneralプロパティでLaunch Screenファイルを参照してください。 Target Properties and Launch Screen

アプリを起動すると、スプラッシュスクリーンが表示されます。 iPhone 6とiPhone 6+でも試してみてください。アプリケーションはアップスケーリングなしで正しく表示されるはずです(Launch Screenファイルはこれを目的としています)。

6
hico

これに数時間イライラした後、私はこの方法を使用することにしました。 iPhoneとiPadの両方で動作します(Xcode 6.1上)。

  1. ファイル>>新しいファイル>>ユーザーインターフェース>>起動画面
  2. 新しいキー/値を作成します:YourApp-Info.plistの「起動画面インターフェースファイルのベース名」/「あなたの起動画面名」

1枚の写真には千語以上の価値があります。以下を見てください。

File>>New File>> User Interface >> Launch Screen

Create new key/value "Launch screen interface file base name"/"Your Launch Screen Name" in YourApp-Info.plist

5
vanloi999

私はxCode 6のバグについて読んだことがあります。これはランドスケープのみのアプリが起動画像を表示するのを妨げます。

Images.xcassets内で画像と向きを設定してみてください

enter image description here

4
carlodurso

アセットファイルに保存されているXcode 6の起動画像で、iOS 7/iOS 8のiPhoneランドスケープ専用アプリに黒い起動画像が表示されるというバグがあります。 iPadは正常に動作します。

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

解決策:ios 8以降には新しいLaunchscreen.xibを使用してください。 (それははるかに優れています)

Ios7デバイスを機能させるには、単に起動画像のソースをオフにして、plistの古い学校の起動画像のファイル名を使用します。

iphone5 - [email protected] 
iphone4s - [email protected]
ipad2 - Default-Landscape~ipad.png
ipad retina - Default-Landscape@2x~ipad.png

痛みを伴うがうまくいく。 B
enter image description here

2
Brett

私はすべてを試しましたが、解決策は非常に単純でした。 LaunchScreen.storyboardでは、.pngの代わりに.jpgファイルを使用するだけです。 iOSは起動画面で.pngファイルや比較的大きな画像サイズをレンダリングしないようです。

2
bpolat

Spectravideo 328が答えたことをしなさい:

アセットカタログでiOS7.0以降のボックスのチェックを外し、iOS6.0以前のボックスのチェックを外します。 iOS7.0起動イメージにバグがあるようです。 (これらは両方とも320x480のものを除いて同じ起動画像を持っています)

私の評判のために私は私の写真を投稿することはできません(かなり新しいメンバー)

これが役立つことを願っています、それは私のために役立ちました!

2
XcodeGuy

私は自分のアセットカタログに "LaunchImage"を設定し、 "Launch Screen"フィールドを単純にクリアしました。起動画像を表示させました...

1
Mohit Athwani
  • アップルのガイドラインに従って、画像のサイズが正しいことを確認してください。
  • 必ず、スクリーンファイルを起動するかイメージソースを起動するのいずれかを選択してください。これら2つのオプションは、プロジェクトビルド設定 - >一般にあります。

あなたへの私の提案はImage.AssetsとしてLaunch Image Sourceを選択することです。 Image.assestsフォルダーにスプラッシュイメージアセットを作成します。

正しい構成のための参照イメージ: enter image description here

1
iDevAmit

Xcode 6.1を使い始めてランチャー画像を変更した後も同じ問題がありました。すべての画像をアセットカタログに入れました。予想される静止画像の代わりに黒い画面しか表示されません。たくさんのことを試した後、私は問題が資産カタログのFileInspectorビューでプロジェクトの 'Target Membership'にチェックが入っていることに気づいた。 ONにすると魔法がかかり、アプリ起動時に画像が表示され始めました。

1
ficocons

一つの方法は、 "Launch Screen"LaunchScreen.xib)を追加し、画像をUIImageViewに貼り付けてから ""に設定することです。 の「整列」の「コンテナの水平方向の中心」および「コンテナの垂直方向の中心」自動レイアウトを使用している場合).

画面: http://i.stack.imgur.com/CfnHT.png

"Launch Screen File"にLaunchScreen.xibを入れることを忘れないでください。

1
Jiri Svec

私は風景だけのアプリでもこのバグに遭遇します、carlodursoの解決策に従ってください:

  1. "Lanscape"ボックスにチェックを入れます
  2. 画像をその場所にドラッグアンドドロップします。
0
Bill Chan

何らかの理由で、これを機能させるには、資産カタログの場所を「プロジェクトに対して」に変更する必要がありました。

私はまた私の電話からアプリを削除して再インストールしたが、それをしたのはおそらく「プロジェクトに対する相対的な」でした。

0
Michael James

プロジェクトに自動的に追加されるファイル 'LaunchScreen.xib'があります。これを削除すると、xCodeがImages.xcassetsのデフォルト画像を使用するように移動します。

アプリアイコンに移動して画像を起動するために編集された起動画面ファイルは空白/空のはずです

0

非常に奇妙なバグがありました。どうやら私の起動イメージソースはデバッグ設定用に設定されているだけでリリースされていません。これにより、デバッグ設定を実行しているときに起動画面が表示されましたが、リリースに変更すると黒い画面しか表示されませんでした。

ビルド設定を変更して[イメージソースの起動]ボタンが表示され、[アセットカタログの使用]をもう一度選択しなければならなくなったときに、この問題を修正しました。

興味がある人のために、これは私のproject.pbxprojがどのように見えたかです。

...
...
...
XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING
...
...
...
0
Epic Byte

私はこれを考え出したところです。起動画像が表示されませんでした。デバイス(iPhone 6、7以降)またはtestFlightで起動すると、白い画面が表示されます。修正: "Landing_screen.png"を "Landing_screen"に変更し、.png部分を削除。 Xcodeの画像アイコンが白いアイコンに変わり、起動画面のストーリーボードに画像が疑問符として表示されるようになりました。起動画面が表示され、白い画面は表示されません。私の設定:Swift 3.1とXcode 8.3.1を使っています。 LaunchScreen.storyboardでは、簡単な画像ビューを追加し、View Controllerに合うように画像を引き伸ばしました。自動レイアウト制約の上/下/前/後スペースを0にスーパービューに設定します。

0
Brian

私は新しいプロジェクトを開き、起動画面を設定するのと同じ手順を実行しようとしました。

デフォルトでは、.xibは "Launch Screen File"に設定されており、シミュレータではラベル付きの白い画面が0.5秒間表示されていました。

次に、「画像ソースの起動」を選択し、それをプロジェクトに追加した背景画像で生成されたImages.xcassetsに設定します。 (すべてこれまでのところ良い)

シミュレータを再実行すると起動画像が表示されません...

指定された "起動画面ファイル"とクリーンを削除した後:トップメニューから、起動画像がようやく表示されます。

多分それは役立つのだろうか?

0
Terrence Giggy

これは私のために働いています。 LaunchScreen.storyboardをクリックしてから、右側のパネルで[Is Initial View Controller]チェックボックスを選択できます。

LaunchScreen.storyboard - >初期View Controllerです

*(Xcode 7.2 /展開ターゲット7.0 /横向きのみ)*

私は古い質問であることを知っていますが、Xcode 7.2では私はまだメッセージを受け取っています、そして私はこれで直しました:

1)PORTRAITと両方の風景を選択してください。 "Launch Images Source"と "Launch Screen File"を追加します。

enter image description here

2)起動画像でiPhone「8.0以降」と「7.0以降」を選択します。

enter image description here

3)appDelegateにこのコードを追加してください。

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}
#else
- (UIInterfaceOrientationMask)application:(UIApplication *)application     supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return (UIInterfaceOrientationMaskLandscape);
}
#endif

4)ViewControllerにこれを追加してください

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
#else
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
#endif
{
     return UIInterfaceOrientationMaskLandscape;
}

私は他の誰かに助けを願っています。

0
Beto

起動画像を前の画像から変更した場合は、次の点に注意してください。

  • アプリが以前にインストールされていた端末/シミュレータは、以前の画像を表示したまま新しい画像を表示しないようにします(アプリのアンインストールと再インストールは役に立ちません)。
  • アプリが以前にインストールされていなかったデバイス/シミュレータには、新しい起動イメージが表示されます。

それはおそらくiOSによって起動画像のキャッシングが行われているためです。デバイスを再起動すると問題は解決します。

0
auspicious99