applicationDidFinishLaunching niet aangeroepen

In mijn appdelegate.m wordt applicationDidFinishLaunching niet aangeroepen. Ik heb gelezen dat dit te wijten is aan het feit dat de delegate van mijn "applicatie" niet goed is aangesloten, maar ik weet niet hoe ik hem moet verbinden. Wat ik doe, is door met de rechtermuisknop op Application te klikken in het XIB-bestand en de deelnemersuitgang ergens naartoe te slepen ... maar ik weet niet waar. Alle hulp op prijs gesteld. Bedankt !

26

2 antwoord

Controleer in uw MainMenu.xib of er een instantie van uw klasse AppDelegate is. Om er een te maken, sleept u een gewoon object (blauwe kubus) naar de lijst en stelt u de klassenaam ervan in op AppDelegate (of hoe de klassenbenaming van uw app-delegatie is).

Ook in de MainMenu.xib sleept u om verbinding te maken een verbinding van het Application-object naar uw AppDelegate-instantie (de blauwe kubus) en verbindt u deze met de deelnemersuitgang.

Gedaan.

46
toegevoegd
Je hebt me veel tijd bespaard, bedankt! Daarnaast moest ik het koppelen aan de bestandseigenaar.
toegevoegd de auteur Laurent Crivello, de bron
Bedankt hiervoor! Ik heb al een dag geprobeerd om erachter te komen waarom mijn inloghelper plotseling niet meer werkte. Ik heb per ongeluk een nieuwe MainMenu.xib verwijderd en later gemaakt
toegevoegd de auteur Tibidabo, de bron
De conceptuele neiging om te springen is een begrip van een punt/xib is een verzameling van instanties van gevriesdroogde objecten. In een actieve app is er meestal slechts één van elk van de belangrijkste architecturale elementen zoals uw NSApp-instantie en zijn gemachtigde. Documentcontroller/weergave-assembly's vormen de voor de hand liggende uitzondering, maar zelfs dan bevat een afzonderlijk prototype "document" xib een object dat de doc-instantie, een hoofdvenster, enz. Vertegenwoordigt. U neemt echter geen voorgebakken instantie van een model op object in een xib (zoals een persoon), omdat dit variabel is (er is meestal niemand Person). Sleutelbegrippen. :-)
toegevoegd de auteur Joshua Nozzi, de bron
De eigenaar van het bestand is inderdaad de applicatie in MainMenu.nib-bestanden.
toegevoegd de auteur Joshua Nozzi, de bron
Het is leuk als mensen op deze manier instructies schrijven.
toegevoegd de auteur Morkrom, de bron
In Xcode 6 (nog niet eerder getest) lijkt het alsof alleen de eigenaar van het bestand moet worden gekoppeld, niet het Application-object.
toegevoegd de auteur cortices, de bron

Hier is iets om te proberen als je hebt bijgewerkt naar Swift 3:

Neem een ​​kijkje op uw "AppDelegate.swift" en zorg ervoor dat de relevante regel er zo uitziet:

func applicationDidFinishLaunching(_ aNotification: Notification) {

in tegenstelling tot dit:

func applicationDidFinishLaunching(_ aNotification: NSNotification) {

Ik heb zojuist een app geüpdatet en dacht niet na te kijken. Het resultaat was dat mijn app werd gelanceerd, maar de relevante methode is nooit gebruikt. Vanzelfsprekend moet u controleren of u andere functies hebt die Melding-objecten gebruiken.

4
toegevoegd
Bedankt, dit was wat mijn probleem oploste, afkomstig van een Swift 2-app.
toegevoegd de auteur Thomas Pritchard, de bron