XCode 7:启动屏幕可能无法设置自定义类名

Aws*_*sed 35 interface-builder ios9 xcode7-beta4

我创建使用Xcode的7 Beta 2中的简单应用程序的应用只包含类MyAppDelegate,MyViewController,MyMain.storyBoard和MyLaunchScreen.storyboard.使用Xcode 7 Beta 4重新编译应用程序后,将出现"启动屏幕可能未设置自定义类名"错误.有什么建议?

KTP*_*TEL 41

请注意,启动屏幕不是完全可自定义的视图控制器.您无法在故事板中指定自定义类名,并希望系统通过调用viewDidLoad为您提供在此阶段执行代码的选项.请记住,该应用还没有推出.

启动屏幕约束

  • 系统在启动应用程序之前加载启动屏幕文件,这会对它可以包含的内容产生一些限制(其中一些可能会强制您回到静态图像文件):
  • 应用程序尚未加载,因此视图层次结构不存在,系统无法调用您在应用程序中可能具有的任何自定义视图控制器设置代码(例如viewDidLoad)
  • 您只能使用标准的UIKit类,因此您可以使用UIView或UIViewController,但不能使用自定义子类.如果您尝试设置自定义类,您将在Xcode中收到非法配置错误.
  • 启动屏幕文件只能使用基本的UIKit视图,如UIImageView和UILabel.您不能使用UIWebView.
  • 如果您使用的是故事板,则可以指定多个视图控制器,但还有一些限制.例如,您可以在导航或标签栏控制器中嵌入视图控制器,但更复杂的容器类(如UISplitViewController)不起作用(至少尚未使用).
  • 本地化启动屏幕文件目前似乎没有任何效果.始终使用基本本地化,因此您可能希望避免启动屏幕上的文本.
  • 您无法为iPad和iPhone指定不同的启动屏幕文件.如果这些设备的界面明显不同,则可能会出现问题,因为只有这么多可以用于自动布局和大小类.

如果要部署到iOS 7,则仍需要包含静态启动映像文件.您可以包含启动屏幕文件和静态启动图像.运行iOS 8的iPhone 6等设备将使用启动屏幕文件,而iOS 7设备将回退到启动图像.

有关详细信息,请单击此处


jus*_*uvn 25

这是一个简单的答案,但我做了一些事情,甚至都不知道.我认为在iOS 7中,现在有一个main.storyboard和一个launchscreen.storyboard.我无意中尝试在启动screen.storyboard上构建我的初始功能屏幕.那不是不.

希望这有助于编码!


Jos*_*osh 7

通过您的视图控制器在Main.storyboard去,并确保你没有一个是既设置为自定义类:

在此输入图像描述

并检查"是初始视图控制器":

在此输入图像描述

你只能做一个或另一个.不知何故,我的"初始视图控制器"仍然被错误地检查了,我花了一段时间来追捕它!


小智 5

我最近使用Xcode 8测试版创建了一个应用程序,但无法使用测试版软件将其提交到应用程序商店.我有相同的错误消息:"启动屏幕可能不会设置自定义类名"和其他几个.

我的解决方案:转到主故事板的文件检查器,然后取消选择"用作启动屏幕"选项.简单吧?希望这也适合你.

这是一个寻找什么的图像