显示iOS LaunchScreen的时间更长

时间:2015-09-15 12:00:21

标签: ios objective-c ios8 xamarin

前段时间我们决定将我们的应用程序加载逻辑放入一个在DidFinishLaunching之后调用的单独函数中。我们正在通过显示一个包含默认启动图像的新UIViewController来实现(如here所述)。这样做的两个原因是:

  • 我们可以在初始屏幕上自动显示当前版本号。
  • 如果加载时间超过10-15秒,应用程序将被操作系统杀死。在版本更新期间,我们遇到过这种情况,直到现在大型数据库/文件重组耗时达15秒。如果应用程序被操作系统杀死,则数据将处于损坏状态。

这很好用。现在,因为iOS 8的东西已经发生了一些变化,我们应该使用启动屏幕xib或故事板。我试图在UIViewController(我们自己的启动画面)中加载xib,但是这导致了一个NSInternalInconsistencyException - 加载了“”nib但是没有设置视图插座。我发现,启动屏幕必须是纯static,与原始启动图像相同。

我喜欢只有一个启动屏幕而不是十几个启动图像的概念。我怎么会这样做?有没有办法以编程方式加载原始启动屏幕xib并在我自己的启动屏幕视图控制器中显示它?当然,我还想以编程方式添加版本号,直到现在为止。

编辑:让应用程序在DidFinishLaunching()中处于休眠状态不是一个选项,请参阅上面的第二点。

1 个答案:

答案 0 :(得分:-1)

您无法长时间保持启动屏幕。

您可以在ViewController中添加default.png applicationdidFinishLoading。显示此控制器几秒钟(5秒)并替换为下一个视图控制器。

  

Note:根据appstore指南说明,你不应该这样做   延迟开始你的时间超过了必要的时间。