Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

applicationDidFinishLaunching not called, using storyboards and swift3

The applicationDidFinishLaunching is not being called when I run my app.

This is the code of my AppDelegate class:

@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
    }


}

I am using Swift 3 and storyboards for my app.

The answer to applicationDidFinishLaunching - not triggering suggests to connect AppDelegate.swift to application object in storyboard. I don't have any application object there.

My app does not have main menu, it is agent, as I am trying to build something similar to spotlight.

What should I do to get applicationDidFinishLaunching running?

like image 217
Samuel Hapak Avatar asked Feb 26 '17 18:02

Samuel Hapak


1 Answers

Even if your app is running as an agent your storyboard is supposed to have this structure:

enter image description here

If not, drag a blue cube (object) into the application scene, set the class of the object to AppDelegate and control-drag from Application to App Delegate and select delegate.

If you even have no Application Scene, create a new project with storyboard enabled, delete your current Main.storyboard file and drag the Main.storyboard of the new created project into your current project.

like image 161
vadian Avatar answered Oct 23 '22 23:10

vadian