Starten Sie die Anwendung programmgesteuert neu

8

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.

    
C-Viorel 15.12.2014, 08:14
quelle

4 Antworten

9

Ja, Sie brauchen ein Hilfswerkzeug. Hier ist die Vorgehensweise:

  1. Erstellen Sie in Ihrem Projekt das Zielwerkzeug "Befehlszeilentool". Beispiel: " relaunch "

    relaunch / main.swift :

    %Vor%
  2. Fügen Sie Products/relaunch binary zu "Kopiere Bundle-Ressourcen" im Hauptanwendungsziel hinzu.

  3. Fügen Sie relaunch target zu "Target Dependencies" im Hauptanwendungsziel hinzu.

  4. 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.

    
rintaro 16.12.2014, 03:25
quelle
3

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%     
Philippe-André Lorin 20.09.2016 10:37
quelle
2

swift4 Funktion

%Vor%     
wenyou 13.07.2017 14:56
quelle
1

Workaround Rintaros Code in Swift 2.

%Vor%

bis

%Vor%

Es funktioniert mir.

    
Cenox Kang 11.05.2016 16:17
quelle

Tags und Links