9

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?

Community
  • 1
  • 1
Samuel Hapak
  • 6,950
  • 3
  • 35
  • 58

1 Answers1

12

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.

vadian
  • 274,689
  • 30
  • 353
  • 361