Skip to content

Commit d8866d5

Browse files
committed
1.1v
1 parent 619e1b6 commit d8866d5

File tree

13 files changed

+712
-630
lines changed

13 files changed

+712
-630
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.DS_Store
22
.build
3+
.idea/

NMSSH/NMSSH-iOS.xcodeproj/xcuserdata/ld.xcuserdatad/xcschemes/xcschememanagement.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@
2525
<key>18A0964E17D6A8C4008B76FB</key>
2626
<dict>
2727
<key>primary</key>
28-
<true/>
28+
<true />
2929
</dict>
3030
<key>18A0965D17D6A97C008B76FB</key>
3131
<dict>
3232
<key>primary</key>
33-
<true/>
33+
<true />
3434
</dict>
3535
</dict>
3636
</dict>

SCP.xcodeproj/project.pbxproj

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@
224224
6BC17E5220774D6300E2A999 /* Frameworks */,
225225
6BC17E5320774D6300E2A999 /* Resources */,
226226
6BC17E7E2077602000E2A999 /* Embed Frameworks */,
227+
6B9CEB9B208DF296006E2332 /* ShellScript */,
227228
);
228229
buildRules = (
229230
);
@@ -335,6 +336,22 @@
335336
};
336337
/* End PBXResourcesBuildPhase section */
337338

339+
/* Begin PBXShellScriptBuildPhase section */
340+
6B9CEB9B208DF296006E2332 /* ShellScript */ = {
341+
isa = PBXShellScriptBuildPhase;
342+
buildActionMask = 2147483647;
343+
files = (
344+
);
345+
inputPaths = (
346+
);
347+
outputPaths = (
348+
);
349+
runOnlyForDeploymentPostprocessing = 0;
350+
shellPath = /bin/sh;
351+
shellScript = "buildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"$INFOPLIST_FILE\")\nbuildNumber=$(($buildNumber + 1))\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"$INFOPLIST_FILE\"";
352+
};
353+
/* End PBXShellScriptBuildPhase section */
354+
338355
/* Begin PBXSourcesBuildPhase section */
339356
6BC17E5120774D6300E2A999 /* Sources */ = {
340357
isa = PBXSourcesBuildPhase;
Binary file not shown.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict />
5+
</plist>

SCP/AddServerViewController.swift

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -9,80 +9,80 @@
99
import Eureka
1010

1111
class AddServerViewController: FormViewController {
12-
13-
var serverForm:Form? = nil
14-
12+
13+
var serverForm: Form? = nil
14+
1515
override func viewDidLoad() {
16-
super.viewDidLoad()
17-
16+
super.viewDidLoad()
17+
1818
serverForm = form +++ Section()
19-
<<< NameRow(){ row in
20-
row.title = "Name"
21-
row.placeholder = "Name"
22-
row.tag = "name"
23-
}
24-
<<< TextRow(){
25-
$0.title = "Host"
26-
$0.placeholder = "URL or IP of Host"
27-
$0.tag = "host"
28-
}
29-
<<< IntRow(){
30-
$0.title = "Port"
31-
$0.placeholder = "Defaults to 22"
32-
$0.tag = "port"
33-
}
34-
<<< TextRow(){
35-
$0.title = "Username"
36-
$0.placeholder = "Defaults to root"
37-
$0.tag = "user"
38-
}
39-
<<< PasswordRow(){
40-
$0.title = "Password"
41-
$0.placeholder = "password"
42-
$0.tag = "pass"
43-
}
44-
+++ Section()
45-
<<< ButtonRow(){
46-
$0.title = "Add Server"
47-
}.onCellSelection { cell, row in
48-
let keychain = Keychain()
49-
do {
50-
let nameRow: NameRow? = self.serverForm?.rowBy(tag: "name")
51-
let portRow: IntRow? = self.serverForm?.rowBy(tag: "port")
52-
let userRow: TextRow? = self.serverForm?.rowBy(tag: "user")
53-
let hostRow: TextRow? = self.serverForm?.rowBy(tag: "host")
54-
let passRow: PasswordRow? = self.serverForm?.rowBy(tag: "pass")
55-
56-
let name = nameRow?.value != nil ? nameRow?.value : "SSH Server"
57-
let port = portRow?.value != nil ? portRow?.value : 22
58-
let user = userRow?.value != nil ? userRow?.value : "root"
59-
60-
let server = SSHServer(name: name!,
61-
host: hostRow!.value!,
62-
port: port!,
63-
user: user!,
64-
pass: passRow!.value!)
19+
<<< NameRow() { row in
20+
row.title = "Name"
21+
row.placeholder = "Name"
22+
row.tag = "name"
23+
}
24+
<<< TextRow() {
25+
$0.title = "Host"
26+
$0.placeholder = "URL or IP of Host"
27+
$0.tag = "host"
28+
}
29+
<<< IntRow() {
30+
$0.title = "Port"
31+
$0.placeholder = "Defaults to 22"
32+
$0.tag = "port"
33+
}
34+
<<< TextRow() {
35+
$0.title = "Username"
36+
$0.placeholder = "Defaults to root"
37+
$0.tag = "user"
38+
}
39+
<<< PasswordRow() {
40+
$0.title = "Password"
41+
$0.placeholder = "password"
42+
$0.tag = "pass"
43+
}
44+
+++ Section()
45+
<<< ButtonRow() {
46+
$0.title = "Add Server"
47+
}.onCellSelection { cell, row in
48+
let keychain = Keychain()
49+
do {
50+
let nameRow: NameRow? = self.serverForm?.rowBy(tag: "name")
51+
let portRow: IntRow? = self.serverForm?.rowBy(tag: "port")
52+
let userRow: TextRow? = self.serverForm?.rowBy(tag: "user")
53+
let hostRow: TextRow? = self.serverForm?.rowBy(tag: "host")
54+
let passRow: PasswordRow? = self.serverForm?.rowBy(tag: "pass")
55+
56+
let name = nameRow?.value != nil ? nameRow?.value : "SSH Server"
57+
let port = portRow?.value != nil ? portRow?.value : 22
58+
let user = userRow?.value != nil ? userRow?.value : "root"
6559

66-
let jsonEncoder = JSONEncoder()
67-
let jsonData = try jsonEncoder.encode(server)
68-
let jsonString = String(data: jsonData, encoding: .utf8)
69-
70-
try keychain.set(jsonString!, key: UUID().uuidString)
71-
72-
_ = self.navigationController?.popViewController(animated: true)
73-
} catch let error {
74-
print("error: \(error)")
75-
}
76-
}
60+
let server = SSHServer(name: name!,
61+
host: hostRow!.value!,
62+
port: port!,
63+
user: user!,
64+
pass: passRow!.value!)
65+
66+
let jsonEncoder = JSONEncoder()
67+
let jsonData = try jsonEncoder.encode(server)
68+
let jsonString = String(data: jsonData, encoding: .utf8)
69+
70+
try keychain.set(jsonString!, key: UUID().uuidString)
71+
72+
_ = self.navigationController?.popViewController(animated: true)
73+
} catch let error {
74+
print("error: \(error)")
75+
}
76+
}
7777

7878
}
79-
79+
8080
override func didReceiveMemoryWarning() {
8181
super.didReceiveMemoryWarning()
8282
// Dispose of any resources that can be recreated.
8383
}
84-
85-
84+
85+
8686
/*
8787
// MARK: - Navigation
8888

@@ -92,5 +92,5 @@ class AddServerViewController: FormViewController {
9292
// Pass the selected object to the new view controller.
9393
}
9494
*/
95-
95+
9696
}

SCP/AppDelegate.swift

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,12 @@
99
import UIKit
1010

1111
@UIApplicationMain
12-
class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate {
12+
class AppDelegate: UIResponder, UIApplicationDelegate {
1313

1414
var window: UIWindow?
1515

1616

1717
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18-
// Override point for customization after application launch.
19-
let splitViewController = window!.rootViewController as! UISplitViewController
20-
let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
21-
navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
22-
splitViewController.delegate = self
2318
return true
2419
}
2520

@@ -45,17 +40,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele
4540
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
4641
}
4742

48-
// MARK: - Split view
49-
50-
func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool {
51-
guard let secondaryAsNavController = secondaryViewController as? UINavigationController else { return false }
52-
guard let topAsDetailController = secondaryAsNavController.topViewController as? DetailViewController else { return false }
53-
if topAsDetailController.detailItem == nil {
54-
// Return true to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
55-
return true
56-
}
57-
return false
58-
}
59-
6043
}
6144

SCP/Base.lproj/Main.storyboard

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="H1p-Uh-vWS">
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="RMx-3f-FxP">
33
<device id="retina4_7" orientation="portrait">
44
<adaptation id="fullscreen"/>
55
</device>
@@ -85,6 +85,7 @@
8585
</prototypes>
8686
</tableView>
8787
</subviews>
88+
<gestureRecognizers/>
8889
<constraints>
8990
<constraint firstItem="7GB-Gy-rlc" firstAttribute="leading" secondItem="Elt-Ps-0Gw" secondAttribute="trailing" id="44a-h5-Mat"/>
9091
<constraint firstItem="7GB-Gy-rlc" firstAttribute="leading" secondItem="Elt-Ps-0Gw" secondAttribute="trailing" id="CeC-Qv-nbv"/>
@@ -131,20 +132,6 @@
131132
</objects>
132133
<point key="canvasLocation" x="709" y="129"/>
133134
</scene>
134-
<!--Split View Controller-->
135-
<scene sceneID="Nki-YV-4Qg">
136-
<objects>
137-
<splitViewController id="H1p-Uh-vWS" sceneMemberID="viewController">
138-
<toolbarItems/>
139-
<connections>
140-
<segue destination="RMx-3f-FxP" kind="relationship" relationship="masterViewController" id="BlO-5A-QYV"/>
141-
<segue destination="vC3-pB-5Vb" kind="relationship" relationship="detailViewController" id="Tll-UG-LXB"/>
142-
</connections>
143-
</splitViewController>
144-
<placeholder placeholderIdentifier="IBFirstResponder" id="cZU-Oi-B1e" sceneMemberID="firstResponder"/>
145-
</objects>
146-
<point key="canvasLocation" x="-856" y="-330"/>
147-
</scene>
148135
<!--Master-->
149136
<scene sceneID="smW-Zh-WAh">
150137
<objects>
@@ -178,9 +165,6 @@
178165
</subviews>
179166
</tableViewCellContentView>
180167
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
181-
<connections>
182-
<segue destination="vC3-pB-5Vb" kind="showDetail" identifier="showDetail" id="o78-16-a9E"/>
183-
</connections>
184168
</tableViewCell>
185169
</prototypes>
186170
<sections/>
@@ -194,6 +178,7 @@
194178
</navigationItem>
195179
<connections>
196180
<segue destination="Med-nd-tev" kind="show" identifier="add_server" id="t5H-Yb-1Xp"/>
181+
<segue destination="vC3-pB-5Vb" kind="presentation" identifier="showDetail" id="j63-C1-9tT"/>
197182
</connections>
198183
</tableViewController>
199184
<placeholder placeholderIdentifier="IBFirstResponder" id="Rux-fX-hf1" sceneMemberID="firstResponder"/>
@@ -232,7 +217,4 @@
232217
<point key="canvasLocation" x="-45" y="129"/>
233218
</scene>
234219
</scenes>
235-
<inferredMetricsTieBreakers>
236-
<segue reference="Tll-UG-LXB"/>
237-
</inferredMetricsTieBreakers>
238220
</document>

0 commit comments

Comments
 (0)