Ich versuche eine Mac OS-Anwendung ohne Storyboard in Xcode 8 (stable) auf macOS Sierra zu erstellen. Mein AppDelegate
wird jedoch nicht einmal initiiert. Hier ist der Code, den ich habe:
Weder init
noch applicationDidFinishLaunching(_ aNotification: Notification)
wird aufgerufen. Jede Hilfe würde sehr geschätzt werden.
Sie müssen hier ein paar Dinge tun
NSMainStoryboardFile
key / value aus dem plist NSApplication
Unterklasse und weisen Sie sie dem Schlüssel Principal Class (NSPrincipalClass)
zu. Der Name muss mit Ihrem Modulnamen vollständig qualifiziert sein.
delegate
-Eigenschaft zuweisen. Stellen Sie sicher, dass Sie eine starke Referenz auf Ihr Delegatobjekt haben. Ich habe gerade ein let
hier verwendet.
z. B. ein einfacher Delegierter.
%Vor%Falls jemand nach einer Swift-Version sucht (basierend auf der Antwort von @WarrenBurtons).
AppDelegate
%Vor%NSApplication-Unterklasse
%Vor%Info.plist-Eintrag
%Vor%Ich habe auch einen Grund dafür geschaffen, dass ich für neue Xcode / Swift-Versionen auf dem Laufenden bleibe. Ссылка
Bearbeiten: Stellen Sie sicher, dass Main.storeboard / MainMenu.xib gelöscht wird. Andernfalls könnten Sie zwei UI-Debugger im UI-Debugger ausführen.