37

iOS 6.1 および 7 用の iPhone アプリを開発しています (Xcode 5 を使用)。iPad の起動イメージに問題があります。

iPad 7.0 および 7.0.2 で、起動イメージが表示されません (6.1 で動作します!): アプリのロード中に黒い画面が表示されます。

iPhone 6.1 と 7.0.2 でこの問題に直面することはありませんが、iPad と iPad Retina に必要なすべての起動イメージ (横向きと縦向き) を設定し、Asset Catalog を使用しています。

私は何が欠けていますか?

4

20 に答える 20

33

最近、iPhone専用に設計されたアプリで同じ問題に直面しました。起動画像がiPadに表示されないという問題がありました(iPad ios >= 7.0.xでは、起動画像が表示されません。アプリのロード中に黒い画面が表示されます(iPad ios < 7.0.x では正常に動作します))。

iPhone の起動イメージの問題は、すべての iOS バージョンで問題なく動作しました。

解決策: アセット カタログを更新して、アプリの画像を管理し、iOS 6 以前のみをターゲットにすることです。

手順 :

ステップ1:

アセット カタログの更新

ステップ2:

選択して移行

ステップ 3: 右上隅にある [Attribute Inspector] アイコンをクリックします。ここで、起動イメージのターゲット OS を設定できます。

iPhone の iOS 7 チェック ボックスをオフにします。

iPhone の iOS 7 チェック ボックスをオフにすると、iOS >= 7.0.x で iPad の起動イメージを表示できるようになります。

于 2013-11-27T08:02:03.087 に答える
12

Apple のドキュメントごと (リンク); 空の iPad 固有のストーリーボードが答えかもしれません。また、最初のビュー コントローラーがストーリーボード内に設定されていないために黒い画面が表示される問題も見てきました。この問題の変形として、アプリの plist の設定が正しくない可能性があります。

テクニカル Q&A QA1780 iPad でアプリを起動すると黒い画面が表示されるのはなぜですか?

Q: iPad でアプリを起動すると黒い画面が表示されるのはなぜですか?

A: iPhone 専用に設計されたアプリを iPad で実行すると、空白の画面が表示されることがあります。これは、アプリ バンドルに空の iPad 固有のストーリーボードが存在し、アプリの情報プロパティ リスト (Info.plist) ファイルに iPad 固有の UIMainStoryboardFile キーが存在することが原因です。Universal オプションが選択されている場合、両方ともさまざまな Xcode テンプレート プロジェクトによって自動的に作成されます。

...

Xcodeで

ファイル ナビゲーターで MainStoryboard_iPad.storyboard という名前のファイルを探します。このファイルが存在する場合は、プロジェクトから削除してください。

アプリの情報プロパティ リスト内

メイン ストーリーボード ファイルのベース名 (iPad) または UIMainStoryboardFile~ipad という名前のキーを探します。このキーが存在する場合は、削除します。(iPad) または ~ipad でサフィックスされた他のキーも削除する必要があります。

最後に、iPad または iPad シミュレーターでアプリをテストし、期待どおりに動作することを確認します。

于 2013-10-10T20:27:29.007 に答える
9

Apple サポートに問い合わせたところ、バグであることが判明しました。彼らは私にそれを報告するように頼んだので、私はそうしました。レポート ID は次のとおりです: 15340531。

于 2013-10-29T20:33:47.203 に答える
4

画像をもう一度設定してみてください。スプラッシュ スクリーンの解像度が iOS 7 のガイドラインに従っていることを確認してください。

于 2013-10-07T10:49:15.190 に答える
3

私はこれが愚かに聞こえることを知っています。拡張子が jpg の psd 形式でファイルを保存したときに、そのようなバグが発生しました。起動イメージの保存中に 1 回のクリックを間違えるだけです。

于 2013-10-14T20:52:26.333 に答える
2

以前にインストールしたアプリをデバイスまたはシミュレーターから削除し、クリーン後にアプリを再起動します。

于 2013-10-07T11:05:07.847 に答える
2

iOS 7 の iPhone (3.5 または 4 インチ) では起動イメージが表示されない問題がありましたが、iPad では iOS 7 で問題ありませんでした。

簡単に言うと、起動イメージのみのアセット カタログを無効にしました。だから私は昔ながらの方法で起動画像を追加しています。それは問題を解決したようです。

明日はさらにテストを行う必要がありますが、問題は解決したようです (少なくとも私の場合)。

于 2013-11-19T07:48:25.747 に答える
1

これは iOS 8 のアップデートです。

LaunchImageiOS 8 アプリにを追加しようとしたときに、同じ問題が発生しました。

Apple では、iOS 8 の時点で、開発者が xib (デフォルト名はLaunchScreen.xib) を使用して起動ビューをレンダリングできるようにしています。開発者は または のいずれLaunchImageかを使用できると思いますLaunchScreen.xib。残念ながら、導入LaunchImage後の対処方法が記載されたドキュメントは見つかりませんでした。起動ビューとしてLaunchScreen.xib使用しようとすると、常に黒い画面が表示されます。LaunchImage

私の解決策は次のとおりです。

  1. 考えないでくださいLaunchImage。を使用しLaunchScreen.xibます。(ただし、Asset Catalog を空にしておく必要がLaunchImageあります。これはバグだと思います。)

  2. UIImageViewanを xib にドラッグしてUIImageViewフルスクリーンにします。サイズ クラスと制約を考慮することを忘れないでください。

  3. iPhone 6 plus に十分な解像度の画像を に設定しUIImageViewます。

于 2015-03-17T16:10:17.440 に答える
1

ランドスケープで同様の問題が発生しました。iOS 6 では表示されていましたが、iOS 7 では起動イメージが表示されませんでした。私のは iPhone Retina 3.5 インチの起動イメージでした。

この問題を共有していない縦向きの別のアプリがあるため、次の2つのことを行いました。

  1. info.plist の [サポートされているインターフェイスの向き] の下に、2 つの縦向きモードも追加し、次のように横向きの前に配置しました。

    Item 0: Portrait (top home button)
    Item 1: Portrait (bottom home button)
    Item 2: Landscape (right home button)
    Item 3: Landscape (left home button)
    
  2. View Controller にこのメソッドを実装しました。

    -(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape; 
    

    }

これは、アセット カタログの有無にかかわらず機能します。

于 2014-03-01T10:57:30.943 に答える
1

アセット カタログを使用している場合、Images.xcassets ターゲット メンバーシップが正しく追加されていることを確認していると仮定しています。複数のターゲットがある場合は、それらを手動で追加する必要があるように見えるため、これについて言及しています(スクリーンショットを提供していないため、確認できます)。

プロジェクトの Images.xcassets フォルダーの「LaunchImage」概要のスクリーンショットを実際に提供していないので、考えられる理由を推測することしかできません。起動イメージが iPhone (6.1 および 7.0.2 および iPad (6.1)) で正常に機能し、iPad (7.0 以降) でのみ機能しないという事実を見て、おそらく、 iPad 縦向きと iPad 横向きの画像は、iOS7 に適しています. 具体的には、添付の写真に見られるように、空の四角形ではなく、起動画像が表示されるはずです- iOS7 iPad 起動画像 (縦と横) - サイズが正しくありません

これは、iOS7 用の iPad 起動イメージがまだステータス バー領域を除いて作成されているために発生する可能性があります。iOS7 より前は、iPad の起動イメージはステータス バー領域を除外するように作成されていましたが、iOS7 では、すべての起動イメージにステータス バー領域を含める必要があります。Apple iOS7 UI 移行ガイド ( https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/TransitionGuide.pdf )の「すべてのアプリがしなければならないこと」セクションを参照してください。

次のスクリーンショットは、私が話していることを説明する必要があります- iPad 起動イメージの寸法 - iOS6 および iOS7

たとえば、iOS6.1 以前の iPad ランドスケープ Retina 画像のサイズは 2048x1496 (ステータス バーの 40 ピクセルを除く) ですが、iOS7.0 以降の同じ画像のサイズは 2048x1536 (ステータスの 40 ピクセルを含む) であることが予想されます。バー)。そのため、画像を適切に変更していない場合、iPad 7.0 以降では画像の黒い画面が表示されます。iPhone では、iOS6.0 でも iOS7.0 でも、iPhone 起動イメージは常にステータス バーを覆うため、この問題に直面することはありません。そのため、iPhone 起動イメージの新しい UI 要件は既に​​満たされています。

于 2013-10-17T07:41:26.127 に答える
1

私たちのアプリで機能するこの回答を見つけました(iPhoneのみ、iPadで使用):https://stackoverflow.com/a/19448782/1258419

その答えから要約すると:

どうやってするの。アセット カタログに移動します。右上隅にある「属性インスペクター」アイコンをクリックします。ここで、起動イメージのターゲット OS を設定できます。iPhone の iOS 7 チェック ボックスをオフにします。これで、これらのデバイスの起動イメージが表示されるはずです。

于 2013-11-21T20:20:31.383 に答える
0

私も同じ問題を抱えていました。回避策を講じる必要がありました。すべての iOS バージョンでデフォルト イメージを使用し、info.plist から UILaunchImageFile キーを削除しました。

iOS 7 と以前のバージョンで異なる起動イメージを使用することはできないため、アプリの最初のビューを模倣したイメージ (Apple が推奨し、私が好む) の代わりに、すべてに同じ「芸術的な」イメージを使用する必要がありましたが、少なくとも、黒い画面は表示されなくなりました。

iOS 7 と以前のバージョンで異なる起動イメージを使用できるようにする UILaunchImageFile キーが、iOS 7 の Retina iPad で正しく機能していないようです。

警告: 私はまだアプリをテストしているので、何らかの副作用があるかどうかはわかりません.

于 2013-11-10T21:44:26.963 に答える
0

すべての画像をチェックして、アセットに適切に配置され、適切に名前とサイズが設定されているかどうかを確認してください。

また、許可している方向を確認し、それに応じて画像をアセットに追加します。

于 2013-10-14T09:09:44.967 に答える