首页 > 解决方案 > 在 Xcode 中,如何向我的 Mac 应用程序添加教程窗口,该窗口仅在首次启动时打开

问题描述

我正在设计一个 MacOS 应用程序,我希望在第一次启动该应用程序时出现第二个窗口(类似于 Apple 在您第一次打开 iMovie 或 Pages 时所做的)。我尝试了几件事无济于事。到目前为止,我已经创建了第二组作为原始应用程序的目标。新组包含我设计的教程故事板和一个名为 OnboardingWindowController(NSWindowController 的子类)的自定义类。我给窗口控制器提供了 OnboardingWindowController 的 Storyboard ID,并添加了以下方法:

class func loadFromNib() -> OnboardingWindowController {
        let vc = NSStoryboard(name: "Onboarding", bundle: nil).instantiateController(withIdentifier: "OnboardingWindowController") as! OnboardingWindowController
        return vc
    }

但是,我不确定如何在不提示第一次启动应用程序的情况下启动它,然后再启动。提前致谢!

标签: swiftxcodemacoscocoa

解决方案


向 userdefaults 添加一个键检查它的值,如果它是 false 则显示教程,否则不要。

if UserDefaults.standard.bool(forKey: "didShowTutorial") {
    // Code to proceed without showing tutorial
} else {
    UserDefaults.standard.set(true, forKey: "didShowTutorial")
    // Code to show the tutorial
}

推荐阅读