web-dev-qa-db-ja.com

iOSアプリケーションに表示されない起動画像(Images.xcassetsを使用)

アプリケーションに起動画像を表示するのに問題があります。

「LaunchImage」というアセットセットのImages.xcassetsファイルにすべての静的画像ファイルを作成しました。

私のプロジェクトにはLaunchScreen.xibファイル(Xcodeによって自動的に作成された)も含まれていることに気付きました。

この.xibファイルは、iPhone6デバイスでアプリケーションを実行すると表示されます。これは、iPhone4sのシミュレーターには表示されません(xib起動画面はiOS 8以降専用なので、これは理にかなっています)。

Appleガイドラインに該当するので作成した静的画像を使用し、アプリケーションに合わせて使用​​します。ただし、表示することができませんでした。

プロジェクト設定の下に、App Icons and Launch Imagesというセクションがあることに気付きました。私が想定している[スクリーンファイルの起動]オプションによって.xibが接続されていることがわかります。

ただし、Launch Image Sourcesというオプションがあります。これは何をしますか?

私はこれを見つけました: http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/ 。ただし、[イメージソースの起動]オプションについては何も説明しませんでした。

Launch Image Sourcesの横にある[アセットカタログを使用]というボタンがあります。クリックすると、「起動イメージをアセットカタログに移行する」というメッセージが表示されます。既存の起動画像が新しい画像セットにコピーされます。使用する資産カタログを選択します。

アセットカタログを既に作成しており、images.xcassetsファイルを上書きしたくないので、これは私を混乱させます。それで、これを既に作成したLaunch Imagesアセットセットにリンクするにはどうすればよいですか?また、それが参照している「既存の起動画像」は、新しい画像セットにコピーされますか?

ありがとうございました!

UPDATE 1

そこで、イメージの移行オプションを試して、新しいセットオプションを選択しました。これにより、削除した新しいイメージセットが作成されました。ただし、Launch Image Sourceに残っている名前はLaunchImageに設定されており、LaunchImageは私の起動イメージを含むイメージセットに何らかの形で接続されています。 LaunchImageセットを台無しにしました-画像は未割り当てに設定されていました。それらを削除し、LaunchImageアセットセットの適切なボックスにファイルをドラッグしました。ただし、アプリケーションを実行しても動作しません。 =(起動画像が表示されません。

Launch Screen File(.xibファイルに接続する設定でした)にある情報も削除しました。それでも、どういうわけか.xibファイルは私のiPhone6デバイスに表示されます。 =(

何が起こっているのでしょうか?

33
Sandy D.

私はついにそれを理解しました!

したがって、プロジェクト設定で、次のセクションに移動します:App Icons and Launch Images

.xibファイルを使用しない場合は、Launch Screen Fileにある情報を削除します。

次に、Launch Image Sourceで、移行を選択します。LaunchImageファイルを既に作成し、画像を追加している場合。次に、表示される資産カタログをクリックします。起動イメージを含む名前。

これにより、画像セットに新しいLaunch-Image2が作成されます。既に作成したものを使用するには、[画像ソースの起動]の横にあるドロップダウンメニューをクリックします。そして、他のLaunch Imageセットが表示されるはずです。それを選択してください。次に、アプリケーションを再ビルドして実行します。起動画像が表示されます。 =)

お役に立てれば!

注:資産カタログに既にある画像は削除されません。新しいLaunchImageアセットセットを作成するだけです。

リファレンス: https://developer.Apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html

47
Sandy D.

この問題がありました。シミュレーターでテストしました。 「画面ファイルの起動」を空白のままにして、plist内の「画面ファイルの起動」に関する行を削除しました。 Xcodeを再起動しました。なし。私の場合、黒ではなく、白でした。 Xcode 7ターゲットiOS 9。

私もこれを読みました: iOSアプリに起動画像が表示されません

起動画像は、iがシミュレータからアプリを削除したときにのみ表示され、アプリを再度実行しました。

57
pierre

これもimportant

emptyLaunch Screen File

enter image description here

33
SwiftDeveloper

実用的なソリューション。私の時間を節約しました

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

きれいにしてビルドします。

推奨される解決策の手順:

  1. Image.assestsフォルダーにスプラッシュ画像アセット(LaunchImageという名前)を作成します。
  2. Launch Image SourceオプションでLaunchImageアセットを選択します。
  3. そして、起動画面のファイルオプションのテキストをクリアします。
  4. きれいにしてビルドします。
  5. 以下は、適切な構成の参照画像です。

enter image description here

14
iDevAmit

XCode 9.4.1でこの問題が発生しましたが、これはアセットフォルダーがバンドルリソースに含まれていないことが原因でした。プロジェクトを選択してから、ターゲットを選択します。 「ビルドフェーズ」に進み、「バンドルリソースのコピー」を開きます。使用したい.xcassetsグループがリストにない場合は、ファイルブラウザからドラッグしてください。

私のために働いた...

2
Gordon

今日も同様の問題がありました。 xCodeにアセットを自動的に作成させようとしましたが、常に割り当てられていませんでした。

解決策は、ImageAssetでLaunch Imageを手動で作成し、それぞれの解像度にファイルを割り当てることでした。

XCodeは異なるタイプのLaunch Imageアセットを作成したため、アセットを認識しなかったようです(v8.3.2)

1
Viniciusoh

解決済み!私はたくさん試しました。問題は、発射画像がシミュレーターに表示され、実際のデバイスには表示されないことでした。 UIImageViewを含むストーリーボードを取得しました。奇妙なことに、古い画像が機能し、最近追加した画像は機能しませんでした。まず、これは資産の問題だと思いました。いいえ。カラープロファイルをチェックし、さまざまなプロファイルで多くの試行を行いました。左作業イメージ、右作業ではありません。助けなかった。 enter image description here

それから私はグーグルを開始し、 this threadを見つけました

ここからの主なソリューション:

1)助けてくれなかった。

プレビューアプリを使用して起動画像の画像プロパティを変更します:[ツール->プロファイルの割り当て...-> ColorSyncプロファイル:<>]

2)助けた

アプリを削除してXCodeから再インストールしても機能しません。ただし、バンドルIDの変更は機能します。他の変更がない場合、既存のバンドルIDには画像が表示されませんが、新しいバンドルIDにはすべて正しく表示されます。このスレッドの以前の投稿では、TestFlightを使用してビルドをインストールしても問題が発生しないことが示唆されているため、一時的な回避策としてそれを行っています。

3)

私は3つのことをしました(最初の2つはそれ自体はしませんでしたが、うまくいった3つ目を助けたかもしれません)
1)すべての画像をルートディレクトリにコピーしました(xcodeが画像を置くのと同じ場所)
2)Images.xcassetsにフォルダーを作成し、そこに画像を配置します。
3)launchScreen.xibの画像は、元々imageName.pngと呼ばれていました。これは、単にimageNameに変更されました(ファイル拡張子を削除します。

3番目の事後、画像が現れました。最初の2つのステップのいずれかが必要かどうかはわかりませんが、うまくいけば誰かの助けになるでしょう。

4)助けますが、古くて失礼です

資産カタログから画像を取り出すと、問題が解決しました。起動画面で使用されている@ 1x、@ 2x、@ 3xの画像を古い方法でプロジェクトに追加したところ、正常に機能しているようです。 TestFlightで今すぐ確認しようとしていますが、現時点ではiTunes Connectは動作していません。

これはiPhoneの現金問題だと思った。そのため、警告する必要はありません。したがって、testFlightでインストールすると、イメージが表示されます。この結論の後、私は次にやったworked

1)アプリをアンインストールする
2)電話を再起動します
3)電話へのアプリの構築

1
Nik Kov

私は同じ問題に直面しています。

スプラッシュ画面では画像は表示されませんですが、ラベルやビューなどの他のものは正しく表示されます。

問題を修正するには、まずコード内の上記の設定をすべて確認してください。何も動作しない場合は、iPhoneを再起動で問題が解決します。

ここの誰かに役に立てば幸いです(助けてください):)

0

シミュレータを閉じて、もう一度開いてください

0
DilumN

数時間の不明確な回答の後:
1)xCodeのアプリの一般セクションの設定に進みます。
2)アプリアイコンと画像の起動までスクロールします。
3)起動画面ファイルをクリアします(空白のままにします)
4)Launch Images SourceをLaunchImageに設定します(Assets.xcassetsで作成することを忘れないでください)
LaunchImageで設定した画像がアプリで使用されるようになりました。

0
DanielWaw

私はこれを理解しました。起動画像が表示されず、デバイス(iPhone 6、7以降)またはtestFlightで起動すると白い画面が表示されます。修正:「Landing_screen.png」の名前を「Landing_screen」に変更し、.png部分を削除しました。 https://stackoverflow.com/a/43592662/3445278

0
Brian

私はちょうど同じ問題に少しの間費やしましたが、答えを見つけて、それを Youtube Tutorial に入れました

  1. ArtWork Imageを作成します。 AppleのAppiconsおよびLaunchImagesの要件に準拠する1024x1024
  2. 新しく作成したAssets.xcassetsを保持するフォルダーを設定します
  3. Asset Creator Proを開き、新しい画像をそこにドラッグします。
  4. 最初にアプリのアイコンを作成し、作成したファイルを新しいフォルダーに入れます。
  5. 同じ画像を使用して、次にLaunchImagesを選択し、作成されたセットを新しい既存のAssets.xcassetsに「追加」します
  6. XCodeプロジェクトを開き、eisting(おそらく空の)Assets.xcassetsフォルダーを削除します。他のファイルが含まれている場合は、AppiconsおよびLaunchimagesセットを削除するだけです。
  7. 新しく作成したアセットをXCodeプロジェクトにドラッグし、ファイルをコピーするオプションを設定していることを確認します。時々これはオフになることがあります!気をつけて。
  8. カセットの内容を確認してください。新しい画像が表示されます。
  9. プロジェクト設定の[画面ファイルを起動]行が空白であることを確認します。
  10. LaunchScreenストーリーボードが空白であることを確認してください。そこにあるものと画像は読み込まれません。

試して。

ビデオを見る。

0
Harry McGovern