如何保持启动画面直到应用程序委托中的进程结束?

Posted

技术标签:

【中文标题】如何保持启动画面直到应用程序委托中的进程结束?【英文标题】:How to hold splashscreen until process in app delegate is over? 【发布时间】:2016-03-04 18:22:02 【问题描述】:

在应用委托中我放了一些函数,我希望启动画面等到应用委托完成它的函数。现在,我的应用立即同时运行初始视图控制器 func 和应用委托 func。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
    // Override point for customization after application launch.

    let email = NSUserDefaults.standardUserDefaults().stringForKey("userEmail")
    if let email = email 
       reLogin()
    else
        buildNavigationDrawer()
    // I want this execute first and run the initial view controller's after

    return true

如何做到这一点?或者这是关闭初始视图控制器的一种方式?

【问题讨论】:

见this和this和this 【参考方案1】:

在您的应用委托处理完didFinishLaunchingWithOptoins 之前,无法将初始屏幕保持在屏幕上。但是,您可以使应用程序的第一个视图与启动图像匹配。然后,您可以在准备好显示内容时关闭第一个视图。

【讨论】:

感谢您的建议!从来没有“匹配启动图像”的事情【参考方案2】:

您无法将初始屏幕保持在原生屏幕之外的时间。您可以在初始屏幕之后显示类似的视图控制器,但前提是您管理大量数据并且需要加载屏幕。 Apple App Store 指南也禁止按住初始屏幕。

【讨论】:

以上是关于如何保持启动画面直到应用程序委托中的进程结束?的主要内容,如果未能解决你的问题,请参考以下文章

类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法

如何强制关闭程序

对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

如何以正确的方式制作启动画面,即不使其成为应用程序流程的一部分?

如何更改 Ionic 4 应用程序中的默认应用程序图标和启动画面?