@@ -39,6 +39,8 @@ class AppDelegate : NSObject, NSApplicationDelegate {
39
39
// Place to display last error that occured
40
40
@IBOutlet var lastErrorField : NSTextView !
41
41
// Restart XCode if crashed.
42
+ @IBOutlet weak var launchXcodeItem : NSMenuItem !
43
+ @IBOutlet weak var selectXcodeItem : NSMenuItem !
42
44
@IBOutlet weak var restartDeviceItem : NSMenuItem !
43
45
@IBOutlet weak var patchCompilerItem : NSMenuItem !
44
46
@@ -82,7 +84,7 @@ class AppDelegate : NSObject, NSApplicationDelegate {
82
84
quit. toolTip = " Quit (build # \( build) ) "
83
85
}
84
86
}
85
-
87
+
86
88
if !updatePatchUnpatch( ) && NSRunningApplication . runningApplications (
87
89
withBundleIdentifier: " com.apple.dt.Xcode " ) . first != nil {
88
90
InjectionServer . error ( """
@@ -95,13 +97,14 @@ class AppDelegate : NSObject, NSApplicationDelegate {
95
97
librariesField. stringValue = Defaults . deviceLibraries
96
98
InjectionServer . startServer ( INJECTION_ADDRESS)
97
99
setupCodeSigningComboBox ( )
98
- restartDeviceItem. state = Defaults . xcodeRestart == true ? . on : . off
99
-
100
+ restartDeviceItem. state = Defaults . xcodeRestart ? . on : . off
101
+ selectXcodeItem. toolTip = Defaults . xcodePath
102
+
100
103
if let project = Defaults . projectPath {
101
104
_ = MonitorXcode ( args: " ' \( project) ' " )
102
105
}
103
106
}
104
-
107
+
105
108
func setMenuIcon( _ state: InjectionState ) {
106
109
DispatchQueue . main. async {
107
110
let tiffName = " Injection " + state. rawValue
@@ -119,7 +122,7 @@ class AppDelegate : NSObject, NSApplicationDelegate {
119
122
_ = MonitorXcode ( )
120
123
}
121
124
}
122
-
125
+
123
126
@IBAction func selectXcode( _ sender: NSMenuItem ) {
124
127
let open = NSOpenPanel ( )
125
128
open. prompt = " Select Xcode "
@@ -128,20 +131,20 @@ class AppDelegate : NSObject, NSApplicationDelegate {
128
131
open. canChooseDirectories = false
129
132
open. canChooseFiles = true
130
133
if open. runModal ( ) == . OK, let path = open. url? . path {
134
+ selectXcodeItem. toolTip = path
131
135
Defaults . xcodePath = path
132
- sender. toolTip = path
133
136
updatePatchUnpatch ( )
134
137
if Defaults . xcodeRestart {
135
138
runXcode ( sender)
136
139
}
137
140
}
138
141
}
139
-
142
+
140
143
lazy var startHostLocatingServerOnce : ( ) = {
141
144
InjectionServer . broadcastServe ( HOTRELOADING_MULTICAST,
142
145
port: HOTRELOADING_PORT)
143
146
} ( )
144
-
147
+
145
148
@IBAction func deviceEnable( _ sender: NSMenuItem ) {
146
149
var openPort = " "
147
150
if sender. state. toggle ( ) == . on {
@@ -153,7 +156,7 @@ class AppDelegate : NSObject, NSApplicationDelegate {
153
156
InjectionServer . stopServer ( )
154
157
InjectionServer . startServer ( openPort+ INJECTION_ADDRESS)
155
158
}
156
-
159
+
157
160
@IBAction func testingEnable( _ sender: NSButton ) {
158
161
if sender. state == . on, let script = Bundle . main
159
162
. url ( forResource: " copy_bundle " , withExtension: " sh " ) {
@@ -179,7 +182,7 @@ class AppDelegate : NSObject, NSApplicationDelegate {
179
182
@IBAction func updateXcodeRestart( _ sender: NSMenuItem ) {
180
183
Defaults . xcodeRestart = sender. state. toggle ( ) == . on
181
184
}
182
-
185
+
183
186
@IBAction func unhideSymbols( _ sender: NSMenuItem ) {
184
187
Unhider . startUnhide ( )
185
188
}
0 commit comments