如何仅在初始启动时显示屏幕

Posted

技术标签:

【中文标题】如何仅在初始启动时显示屏幕【英文标题】:How to make a screen show only on initial launch 【发布时间】:2015-02-04 03:52:45 【问题描述】:

我正在尝试为我的应用制作介绍屏幕 - 即所有用户在第一次下载和运行应用时必须同意的服务条款屏幕。显然,一旦用户同意,我不想在他们每次登录应用程序时再次向他们展示。这样做的最佳方法是什么?我一直在阅读有关 NSUserDefaults 的内容,但在那之后我几乎陷入了困境。

【问题讨论】:

iPhone: How do I detect when an app is launched for the first time? 的可能重复项 另一个q在obj-c中,我不知道。 【参考方案1】:

在您的 AppDelegate 或任何需要检查首次运行状态的类中:

Bool isFirstRun = !NSUserDefaults.standardUserDefaults().boolForKey("kAppPreviousLaunchKey")
NSUserDefaults.standardUserDefaults().setBool(true, forKey:"kAppPreviousLaunchKey")
if isFirstRun 
    // React here

【讨论】:

【参考方案2】:

在 AppDelegate 类中使用这段代码

let launchedBefore = NSUserDefaults.standardUserDefaults().boolForKey("launchedBefore")
    if launchedBefore  
        print("Not first launch.")
    
    else 
        print("First launch, setting NSUserDefault.")
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "launchedBefore")
    

【讨论】:

以上是关于如何仅在初始启动时显示屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在应用程序首次启动时显示警报显示?

如何仅在第一次启动 IOS Swift 时显示页面控制器

ModalViewController 仅在动画时显示

Phonertc 演示仅在通话开始时显示空白屏幕

应用程序第二次启动时显示第二个 ViewController

Swift 仅在使用导航控制器首次启动时显示视图