未调用 applicationDidFinishLaunching,使用情节提要和 swift3

Posted

技术标签:

【中文标题】未调用 applicationDidFinishLaunching,使用情节提要和 swift3【英文标题】:applicationDidFinishLaunching not called, using storyboards and swift3 【发布时间】:2017-02-26 18:23:55 【问题描述】:

当我运行我的应用程序时,applicationDidFinishLaunching 没有被调用。

这是我AppDelegate类的代码:

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate 

    let statusItem = NSStatusBar.system().statusItem(withLength: NSSquareStatusItemLength)

    func applicationDidFinishLaunching(_ aNotification: Notification) 
        // Insert code here to initialize your application
    

    func applicationWillTerminate(_ aNotification: Notification) 
        // Insert code here to tear down your application
    



我正在为我的应用使用 Swift 3storyboards

applicationDidFinishLaunching - not triggering 的答案建议将AppDelegate.swift 连接到情节提要中的应用程序对象。我那里没有任何应用程序对象。

我的应用没有主菜单,它是 agent,因为我正在尝试构建类似于 Spotlight 的东西。

我应该怎么做才能让applicationDidFinishLaunching 运行?

【问题讨论】:

【参考方案1】:

即使您的应用程序作为代理运行,您的故事板也应该具有以下结构:

如果没有,则将一个蓝色立方体(对象)拖入应用场景,将对象的类设置为AppDelegate,然后从Application 按住control 拖动到App Delegate,然后选择delegate

如果您甚至没有应用程序场景,请创建一个启用故事板的新项目,删除您当前的 Main.storyboard 文件并将新创建的项目的 Main.storyboard 拖到您当前的项目中。

【讨论】:

谢谢!我真的很怀念应用场景。 如何在没有情节提要的情况下以编程方式制作它? @fnc12 你必须在main 中设置代理,就在running 应用程序之前

以上是关于未调用 applicationDidFinishLaunching,使用情节提要和 swift3的主要内容,如果未能解决你的问题,请参考以下文章

在 Apple Watch 上接收来自 iCloud 的推送通知

未完全加载单元格时未调用 didSelectItemAtIndexPath

数据流 - 未调用函数 - 错误 - 未定义名称

numberOfRowsInSection 已调用但 cellForRowAt 未调用

调用 textFieldShouldBeginEditing,未调用 textFieldDidBeginEditing

JQuery:未捕获的类型错误:无法读取未定义的属性“调用”