Ich würde gerne wissen, ob es irgendeine Methode gibt, meine App programmgesteuert neu zu starten. Es ist eine Mac OS App und ich arbeite mit Xcode 6 in Swift.
Das Verfahren ist einfach, zu einem bestimmten Zeitpunkt möchte ich meine App neu starten. Ich denke, ich brauche einen einfachen Helfer, aber ich bin mir nicht sicher.
Ja, Sie brauchen ein Hilfswerkzeug. Hier ist die Vorgehensweise:
Erstellen Sie in Ihrem Projekt das Zielwerkzeug "Befehlszeilentool". Beispiel: " relaunch "
relaunch / main.swift :
%Vor% Fügen Sie Products/relaunch
binary zu "Kopiere Bundle-Ressourcen" im Hauptanwendungsziel hinzu.
Fügen Sie relaunch
target zu "Target Dependencies" im Hauptanwendungsziel hinzu.
Fügen Sie die Funktion relaunch
in der Hauptanwendung hinzu.
Zum Beispiel: NSApplication + Relaunch.swift :
%Vor% Rufen Sie dann NSApplication.sharedApplication().relaunch(nil)
wie gewünscht auf.
Swift 3-Version, basierend auf Rintaros Code und Cenox Kangs Workaround.
Siehe Rintaros Antwort für Anweisungen.
relaunch / main.swift:
%Vor%NSApplication + Relaunch.swift:
%Vor%Workaround Rintaros Code in Swift 2.
%Vor%bis
%Vor%Es funktioniert mir.