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のみが使用可能です)。
だからこれは些細なことにすべき何かのために非常に痛みを伴うものでした。これが私がしたことです:
xcassetsを使用する
起動には.xibと.xibを使用することにしました。 .xibを削除しました。あなたのプロジェクトにすでにimages.xcassetsがあるのであれば素晴らしいですが、そうでなければFile> New> fileから追加することができます。
起動イメージセットを作成する
ナビゲーター領域を右クリックして、最低限、起動イメージセットとアイコンセットを.xcassetsファイルに作成します。
アプリのアイコンを更新して画像設定を起動する
それから私は私のターゲットの "アプリのアイコンと画像セット"が以下の通りであることを確認しました。
非常に重要:「Launch screen file」設定が空白であることを確認してください。
画像を追加する
大事なことを言い忘れましたが、デバイスの選択にアップルが使用している用語は混乱を招きます。私は最初iOS8のみ(iPhone Portrait)用にデプロイしているので、これを実行してiPhone 6とiPhone 6+の起動イメージを入れることができると思いました。
私はすぐにこれがうまくいかないことに気付きました、そして私は警告を得ていました:「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バージョンで展開しているかどうかにかかわらず、クリックしてイメージプレースホルダを表示してイメージを配置する必要があります。 。
これが誰かに役立つことを願っています。
LaunchScreen.xib
と情報値Launch screen interface file base name
は私の経験から、プロジェクトが作成されるときに作成される両方のプレースホルダーです。起動画面専用にImages.xcassets
を使用したい場合は、LaunchScreen.xib
とinfo.plist
の両方の項目を削除してください。
info.plist
設定を指定した場合、アプリはImages.xcassets
ではなくxib
を使用します。
Xcode 8:
LaunchScreen.xibで使用されている画像は、.xcassetsではにならないようにしてください。バンドルにドロップしてみてください。
.xibがロードされるまでに、.xcassetsのイメージはまだ利用できないように見えます。
編集:いくつかのローカライズを追加した後、いくつかの不明瞭な理由で、起動画面が動作しなくなりました、今それは資産からの画像で動作します、非常に奇妙な。
私の解決策はすべての打ち上げ画像を作成することでした。
次に、Launch Images SourceをLaunchImageアセットに設定し、起動画面ファイルを空白のままにします。
最後に、プロジェクトにLaunch Screen.xibがない場合は、そのファイルを追加してそのままにします。
私にとっては、アプリをアンインストールしてからシミュレータを再起動するとうまくいきました。再インストールしたときに、起動イメージが期待どおりに表示されました。これは実際のデバイスでも機能しました。
Asset Catalog's Launch Image
を使っている人たちにとって、私はこれを最も難しい方法で学んだので、私は最初にjpg
ファイルを与えられ、次にそれをPNG
に変換するように頼むというこのシナリオを持っていました。
私は最初に打ち上げの画像が表示されていない理由についてインターネットを精査して無駄にすべての解決策を講じたことを十分に信頼し、それから私は古い打ち上げの画像を元に戻しても問題なく動いていました。 haveは適切なPNG
ファイルではありません。
TL; DR:実際に拡張子が変更されたファイルではなく、適切なPNGファイル。
Info.plistファイルから「Launch Screen Interface File Base Name」を削除し、「Launch Screen.xib」をゴミ箱に入れるとうまくいきました。
アプリを削除して再インストールするだけでうまくいきました。
受け入れられた答えの問題は、それです起動画面ファイルを設定しない場合、あなたのアプリケーションはiPhone 6&6+ =>ぼやけたレンダリングのようなデバイス上でアップスケーリングモードになるでしょう
以下は、私がすべての機器で(iOS 7.1をターゲットとし、Xcode 8を使用して)完全に機能するソリューションを作成するために行ったことです(本当に、この拡大する問題に夢中になっていました)。
1。あなたの.xcassetsを準備してください
わかりやすくするために、ベクターの.PDFファイルを使用しています。非常に便利で、各解像度(1倍、2倍、3倍...)に複数の画像を作成することを避けます。私はまたあなたがすでにあなたのxcassetsを作成したと仮定します。
2。起動画面ファイルを作成します。
。起動画面ファイルに画像を追加してください
4。起動画面ファイルをターゲットに追加してください
最終的には、Target GeneralプロパティでLaunch Screenファイルを参照してください。
アプリを起動すると、スプラッシュスクリーンが表示されます。 iPhone 6とiPhone 6+でも試してみてください。アプリケーションはアップスケーリングなしで正しく表示されるはずです(Launch Screenファイルはこれを目的としています)。
これに数時間イライラした後、私はこの方法を使用することにしました。 iPhoneとiPadの両方で動作します(Xcode 6.1上)。
- ファイル>>新しいファイル>>ユーザーインターフェース>>起動画面
- 新しいキー/値を作成します:YourApp-Info.plistの「起動画面インターフェースファイルのベース名」/「あなたの起動画面名」
1枚の写真には千語以上の価値があります。以下を見てください。
私はxCode 6のバグについて読んだことがあります。これはランドスケープのみのアプリが起動画像を表示するのを妨げます。
Images.xcassets内で画像と向きを設定してみてください
アセットファイルに保存されている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
私はすべてを試しましたが、解決策は非常に単純でした。 LaunchScreen.storyboardでは、.pngの代わりに.jpgファイルを使用するだけです。 iOSは起動画面で.pngファイルや比較的大きな画像サイズをレンダリングしないようです。
Spectravideo 328が答えたことをしなさい:
アセットカタログでiOS7.0以降のボックスのチェックを外し、iOS6.0以前のボックスのチェックを外します。 iOS7.0起動イメージにバグがあるようです。 (これらは両方とも320x480のものを除いて同じ起動画像を持っています)
私の評判のために私は私の写真を投稿することはできません(かなり新しいメンバー)
これが役立つことを願っています、それは私のために役立ちました!
私は自分のアセットカタログに "LaunchImage"を設定し、 "Launch Screen"フィールドを単純にクリアしました。起動画像を表示させました...
Xcode 6.1を使い始めてランチャー画像を変更した後も同じ問題がありました。すべての画像をアセットカタログに入れました。予想される静止画像の代わりに黒い画面しか表示されません。たくさんのことを試した後、私は問題が資産カタログのFileInspectorビューでプロジェクトの 'Target Membership'にチェックが入っていることに気づいた。 ONにすると魔法がかかり、アプリ起動時に画像が表示され始めました。
一つの方法は、 "Launch Screen"(LaunchScreen.xib
)を追加し、画像をUIImageView
に貼り付けてから ""に設定することです。 の「整列」の「コンテナの水平方向の中心」および「コンテナの垂直方向の中心」自動レイアウトを使用している場合).
画面: http://i.stack.imgur.com/CfnHT.png
"Launch Screen File"にLaunchScreen.xib
を入れることを忘れないでください。
私は風景だけのアプリでもこのバグに遭遇します、carlodursoの解決策に従ってください:
何らかの理由で、これを機能させるには、資産カタログの場所を「プロジェクトに対して」に変更する必要がありました。
私はまた私の電話からアプリを削除して再インストールしたが、それをしたのはおそらく「プロジェクトに対する相対的な」でした。
プロジェクトに自動的に追加されるファイル 'LaunchScreen.xib'があります。これを削除すると、xCodeがImages.xcassetsのデフォルト画像を使用するように移動します。
アプリアイコンに移動して画像を起動するために編集された起動画面ファイルは空白/空のはずです
非常に奇妙なバグがありました。どうやら私の起動イメージソースはデバッグ設定用に設定されているだけでリリースされていません。これにより、デバッグ設定を実行しているときに起動画面が表示されましたが、リリースに変更すると黒い画面しか表示されませんでした。
ビルド設定を変更して[イメージソースの起動]ボタンが表示され、[アセットカタログの使用]をもう一度選択しなければならなくなったときに、この問題を修正しました。
興味がある人のために、これは私の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
...
...
...
私はこれを考え出したところです。起動画像が表示されませんでした。デバイス(iPhone 6、7以降)またはtestFlightで起動すると、白い画面が表示されます。修正: "Landing_screen.png"を "Landing_screen"に変更し、.png部分を削除。 Xcodeの画像アイコンが白いアイコンに変わり、起動画面のストーリーボードに画像が疑問符として表示されるようになりました。起動画面が表示され、白い画面は表示されません。私の設定:Swift 3.1とXcode 8.3.1を使っています。 LaunchScreen.storyboardでは、簡単な画像ビューを追加し、View Controllerに合うように画像を引き伸ばしました。自動レイアウト制約の上/下/前/後スペースを0にスーパービューに設定します。
私は新しいプロジェクトを開き、起動画面を設定するのと同じ手順を実行しようとしました。
デフォルトでは、.xibは "Launch Screen File"に設定されており、シミュレータではラベル付きの白い画面が0.5秒間表示されていました。
次に、「画像ソースの起動」を選択し、それをプロジェクトに追加した背景画像で生成されたImages.xcassetsに設定します。 (すべてこれまでのところ良い)
シミュレータを再実行すると起動画像が表示されません...
指定された "起動画面ファイル"とクリーンを削除した後:トップメニューから、起動画像がようやく表示されます。
多分それは役立つのだろうか?
これは私のために働いています。 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"を追加します。
2)起動画像でiPhone「8.0以降」と「7.0以降」を選択します。
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;
}
私は他の誰かに助けを願っています。
起動画像を前の画像から変更した場合は、次の点に注意してください。
それはおそらくiOSによって起動画像のキャッシングが行われているためです。デバイスを再起動すると問題は解決します。