diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..8f0eeee
Binary files /dev/null and b/.DS_Store differ
diff --git a/ScreenMazer.xcodeproj/project.pbxproj b/ScreenMazer.xcodeproj/project.pbxproj
index 9b4e124..b9aa925 100755
--- a/ScreenMazer.xcodeproj/project.pbxproj
+++ b/ScreenMazer.xcodeproj/project.pbxproj
@@ -189,7 +189,7 @@
};
A89B9C562120F47F00CE35AC = {
CreatedOnToolsVersion = 9.2;
- DevelopmentTeam = K2WR3HLA57;
+ DevelopmentTeam = Y3FG22HM56;
ProvisioningStyle = Automatic;
};
};
@@ -445,13 +445,13 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
- DEVELOPMENT_TEAM = K2WR3HLA57;
+ DEVELOPMENT_TEAM = Y3FG22HM56;
ENABLE_HARDENED_RUNTIME = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = TestApp/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
- PRODUCT_BUNDLE_IDENTIFIER = com.alexbeals.TestApp;
+ PRODUCT_BUNDLE_IDENTIFIER = com.JackDarnell.screenMazer2;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -478,13 +478,13 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
- DEVELOPMENT_TEAM = K2WR3HLA57;
+ DEVELOPMENT_TEAM = Y3FG22HM56;
ENABLE_HARDENED_RUNTIME = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = TestApp/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
- PRODUCT_BUNDLE_IDENTIFIER = com.alexbeals.TestApp;
+ PRODUCT_BUNDLE_IDENTIFIER = com.JackDarnell.screenMazer2;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
};
diff --git a/ScreenMazer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ScreenMazer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/ScreenMazer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/ScreenMazer.xcodeproj/project.xcworkspace/xcuserdata/jackdarnell.xcuserdatad/UserInterfaceState.xcuserstate b/ScreenMazer.xcodeproj/project.xcworkspace/xcuserdata/jackdarnell.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..025a54e
Binary files /dev/null and b/ScreenMazer.xcodeproj/project.xcworkspace/xcuserdata/jackdarnell.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/ScreenMazer.xcodeproj/xcuserdata/jackdarnell.xcuserdatad/xcschemes/xcschememanagement.plist b/ScreenMazer.xcodeproj/xcuserdata/jackdarnell.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..9d5ac08
--- /dev/null
+++ b/ScreenMazer.xcodeproj/xcuserdata/jackdarnell.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,19 @@
+
+
+
+
+ SchemeUserState
+
+ ScreenMazer.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+ TestApp.xcscheme_^#shared#^_
+
+ orderHint
+ 1
+
+
+
+
diff --git a/ScreenMazer/ConfigureSheet.xib b/ScreenMazer/ConfigureSheet.xib
index 6dffcfd..ebc7f1b 100755
--- a/ScreenMazer/ConfigureSheet.xib
+++ b/ScreenMazer/ConfigureSheet.xib
@@ -1,8 +1,7 @@
-
+
-
-
+
@@ -22,17 +21,17 @@
-
+
-
+
-
+
-
+
@@ -43,7 +42,7 @@
-
+
@@ -54,7 +53,7 @@
-
+
@@ -65,7 +64,7 @@
-
+
@@ -76,14 +75,14 @@
-
+
-
+
@@ -91,7 +90,7 @@
-
+
@@ -102,14 +101,14 @@
-
+
-
+
@@ -117,7 +116,7 @@
-
+
@@ -127,7 +126,7 @@
-
+
@@ -138,7 +137,7 @@
-
+
@@ -149,7 +148,7 @@
-
+
@@ -159,7 +158,7 @@
-
+
@@ -180,7 +179,7 @@
-
+
@@ -214,7 +213,7 @@
-
+
diff --git a/ScreenMazer/DefaultsManager.swift b/ScreenMazer/DefaultsManager.swift
index 1058efb..1cc8100 100644
--- a/ScreenMazer/DefaultsManager.swift
+++ b/ScreenMazer/DefaultsManager.swift
@@ -9,13 +9,13 @@
import ScreenSaver
class DefaultsManager {
- var defaults: UserDefaults
-
+ var defaults: ScreenSaverDefaults
+
init() {
let identifier = Bundle(for: DefaultsManager.self).bundleIdentifier
defaults = ScreenSaverDefaults.init(forModuleWithName: identifier!)!
}
-
+
var color: NSColor {
set(newColor) {
setAttribute(newColor, key: "color")
@@ -24,7 +24,7 @@ class DefaultsManager {
return getColor() ?? .gray
}
}
-
+
var solveColor: NSColor {
set(newColor) {
setAttribute(newColor, key: "solveColor")
@@ -33,7 +33,7 @@ class DefaultsManager {
return getSolveColor() ?? .white
}
}
-
+
var duration: Int {
set(newDuration) {
setAttribute(newDuration, key: "duration")
@@ -42,7 +42,7 @@ class DefaultsManager {
return getDuration() ?? 30
}
}
-
+
var solveDuration: Int {
set(newDuration) {
setAttribute(newDuration, key: "solveDuration")
@@ -51,7 +51,7 @@ class DefaultsManager {
return getSolveDuration() ?? 10
}
}
-
+
var mazeSize: Double {
set(newSize) {
setAttribute(newSize, key: "mazeSize")
@@ -60,7 +60,7 @@ class DefaultsManager {
return getMazeSize() ?? 7.0
}
}
-
+
var clockSize: Int {
set(newSize) {
setAttribute(newSize, key: "clockSize")
@@ -69,7 +69,7 @@ class DefaultsManager {
return getClockSize() ?? 1
}
}
-
+
var hourClock: Bool {
set(newClock) {
setAttribute(newClock, key: "hourClock")
@@ -78,7 +78,7 @@ class DefaultsManager {
return getHourClock() ?? false
}
}
-
+
var solve: Bool {
set(newSolve) {
setAttribute(newSolve, key: "solve")
@@ -87,64 +87,79 @@ class DefaultsManager {
return getSolve() ?? true
}
}
-
+
+ // func setAttribute(_ attribute: Any, key: String) {
+ // //defaults.set(NSKeyedArchiver.archivedData(withRootObject: attribute), forKey: key)
+ // defaults.set(NSKeyedArchiver.archivedData(withRootObject: attribute, requiringSecureCoding: false), forKey: key)
+ // defaults.synchronize()
+ // }
func setAttribute(_ attribute: Any, key: String) {
- defaults.set(NSKeyedArchiver.archivedData(withRootObject: attribute), forKey: key)
- defaults.synchronize()
+ if let data = try? NSKeyedArchiver.archivedData(withRootObject: attribute, requiringSecureCoding: false) {
+ defaults.set(data, forKey: key)
+ defaults.synchronize()
+ }
}
-
+
func getColor() -> NSColor? {
- if let info = defaults.object(forKey: "color") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? NSColor
+ if let info = defaults.data(forKey: "color"),
+ let color = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSColor.self, from: info) {
+ return color
}
return nil
}
-
+
func getSolveColor() -> NSColor? {
- if let info = defaults.object(forKey: "solveColor") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? NSColor
+ if let info = defaults.data(forKey: "solveColor"),
+ let color = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSColor.self, from: info) {
+ return color
}
return nil
}
-
+
func getDuration() -> Int? {
- if let info = defaults.object(forKey: "duration") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Int
+ if let info = defaults.data(forKey: "duration"),
+ let duration = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Int {
+ return duration
}
return nil
}
-
+
func getSolveDuration() -> Int? {
- if let info = defaults.object(forKey: "solveDuration") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Int
+ if let info = defaults.data(forKey: "solveDuration"),
+ let duration = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Int {
+ return duration
}
return nil
}
-
+
func getMazeSize() -> Double? {
- if let info = defaults.object(forKey: "mazeSize") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Double
+ if let info = defaults.data(forKey: "mazeSize"),
+ let mazeSize = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Double {
+ return mazeSize
}
return nil
}
-
+
func getClockSize() -> Int? {
- if let info = defaults.object(forKey: "clockSize") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Int
+ if let info = defaults.data(forKey: "clockSize"),
+ let clockSize = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Int {
+ return clockSize
}
return nil
}
-
+
func getHourClock() -> Bool? {
- if let info = defaults.object(forKey: "hourClock") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Bool
+ if let info = defaults.data(forKey: "hourClock"),
+ let hourClock = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Bool {
+ return hourClock
}
return nil
}
-
+
func getSolve() -> Bool? {
- if let info = defaults.object(forKey: "solve") as? Data {
- return NSKeyedUnarchiver.unarchiveObject(with: info) as? Bool
+ if let info = defaults.data(forKey: "solve"),
+ let solve = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSNumber.self, from: info) as? Bool {
+ return solve
}
return nil
}
diff --git a/ScreenMazer/MazeScene.swift b/ScreenMazer/MazeScene.swift
index 61333ae..16abbf4 100644
--- a/ScreenMazer/MazeScene.swift
+++ b/ScreenMazer/MazeScene.swift
@@ -56,10 +56,7 @@ class MazeScene: SKScene {
squares = []
squareSize = CGFloat(DefaultsManager().mazeSize)
if (isPreview) {
- squareSize = squareSize / 4
- if (squareSize < 1) {
- squareSize = 1
- }
+ squareSize = 1
}
duration = DefaultsManager().duration
diff --git a/TestApp/Base.lproj/Main.storyboard b/TestApp/Base.lproj/Main.storyboard
index 1684d08..4bb6498 100644
--- a/TestApp/Base.lproj/Main.storyboard
+++ b/TestApp/Base.lproj/Main.storyboard
@@ -1,7 +1,8 @@
-
-
+
+
-
+
+
@@ -618,7 +619,7 @@
@@ -683,12 +684,12 @@
-
+
-
+
@@ -703,7 +704,7 @@
-
+