web-dev-qa-db-ja.com

XCode 7:起動画面でカスタムクラス名が設定されないことがある

Xcode 7 Beta 2を使用して簡単なアプリケーションを作成しました。アプリケーションには、クラスMyAppDelegateMyViewControllerMyMain.storyBoardおよびMyLaunchScreen.storyboard。 Xcode 7 Beta 4でアプリケーションを再コンパイルすると、「起動画面でカスタムクラス名が設定されない場合があります」というエラーが表示されます。助言がありますか?

35
Awsed

起動画面は完全にカスタマイズ可能なView Controllerではないことに注意してください。ストーリーボードでカスタムクラス名を指定することはできません。また、viewDidLoadを呼び出して、この段階でコードを実行するオプションをシステムが提供することを期待できません。アプリはまだ起動していません。

起動画面の制約

  • システムは、アプリを起動する前に起動画面ファイルをロードします。これにより、何を含めることができるかについていくつかの制約が作成されます(一部は静的な画像ファイルに戻る場合があります)。
  • アプリはまだロードされていないため、ビュー階層は存在せず、システムはアプリ内にあるカスタムView Controllerセットアップコードを呼び出すことができません(例:viewDidLoad)
  • 標準のUIKitクラスのみを使用できるため、UIViewまたはUIViewControllerを使用できますが、カスタムサブクラスは使用できません。カスタムクラスを設定しようとすると、Xcodeで不正な設定エラーが発生します。
  • 起動画面ファイルは、UIImageViewやUILabelなどの基本的なUIKitビューのみを使用できます。 UIWebViewは使用できません。
  • ストーリーボードを使用している場合、複数のView Controllerを指定できますが、いくつかの制限があります。たとえば、View ControllerをNavigationまたはTab Bar Controllerに埋め込むことができますが、UISplitViewControllerなどのより複雑なコンテナクラスは機能しません(少なくともまだ)。
  • 起動画面ファイルのローカライズは、現時点では効果がないようです。ベースのローカライズは常に使用されるため、おそらく起動画面上のテキストを避けたいでしょう。
  • IPadとiPhoneに異なる起動画面ファイルを指定することはできません。自動レイアウトとサイズクラスでできることは限られているため、これらのデバイスのインターフェイスが大幅に異なる場合、これは問題になる場合があります。

IOS 7に展開する場合、静的な起動イメージファイルを含める必要があります。起動画面ファイルと静的起動画像の両方を含めることができます。 iOS 8を実行しているiPhone 6などのデバイスは起動画面ファイルを使用し、iOS 7デバイスは起動画像にフォールバックします。

詳細については、 こちら をクリックしてください

40
KTPATEL

これは簡単な答えですが、私はそれを知り、知らなかったのです。 iOS 7には、main.storyboardとlaunchscreen.storyboardがあると思います。起動screen.storyboardで最初の機能画面を意図せずに作成しようとしていました。それはノーです。

これがお役に立てて、幸せなコーディングを願っています!

25
justagruvn

Main.storyboardのView Controllerを調べて、bothがカスタムクラスに設定されているものがないことを確認します。

enter image description here

andは「Is Initial View Controller」がチェックされています:

enter image description here

どちらか一方しか行えません。どういうわけか、「Is Initial View Controller」がまだ誤ってチェックされていたので、それを見つけるのに時間がかかりました!

7
Josh

最近、Xcode 8ベータ版を使用してアプリを作成しましたが、ベータ版ソフトウェアを使用してアプリストアに送信できませんでした。 「起動画面ではカスタムクラス名が設定されない可能性がある」など、同じエラーメッセージが表示されました。

私の解決策:メインストーリーボードのファイルインスペクターに移動し、[起動画面として使用]オプションの選択を解除します。シンプルでしょ?うまくいけば、これもあなたのために働く。

これは何を探すかのイメージです

5