From 5af3ecfc36b0c833662780bde18713feb47b05aa Mon Sep 17 00:00:00 2001 From: James Griffin Date: Mon, 31 Dec 2018 15:00:25 -0400 Subject: [PATCH] Switch to Storyboards after a painful morning --- Jot.xcodeproj/project.pbxproj | 37 +- Jot/AppDelegate.swift | 8 +- Jot/Base.lproj/MainMenu.xib | 692 --------------------------- Jot/Info.plist | 4 +- Jot/Jot.entitlements | 10 +- Jot/Main.storyboard | 718 +++++++++++++++++++++++++++++ Jot/Token/{JWT.swift => Jwt.swift} | 2 +- Jot/Token/TokenDeserializer.swift | 2 +- 8 files changed, 748 insertions(+), 725 deletions(-) delete mode 100644 Jot/Base.lproj/MainMenu.xib create mode 100644 Jot/Main.storyboard rename Jot/Token/{JWT.swift => Jwt.swift} (97%) diff --git a/Jot.xcodeproj/project.pbxproj b/Jot.xcodeproj/project.pbxproj index 417dc61..f0db775 100644 --- a/Jot.xcodeproj/project.pbxproj +++ b/Jot.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 821E160721D7ED3F00E2D71A /* TokenDeserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821E160621D7ED3F00E2D71A /* TokenDeserializer.swift */; }; + 821E162821DA9A3700E2D71A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 821E162721DA9A3700E2D71A /* Main.storyboard */; }; 82CAF46A21D7D41800FED241 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF46921D7D41800FED241 /* AppDelegate.swift */; }; 82CAF46C21D7D41C00FED241 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 82CAF46B21D7D41C00FED241 /* Assets.xcassets */; }; - 82CAF46F21D7D41C00FED241 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 82CAF46D21D7D41C00FED241 /* MainMenu.xib */; }; 82CAF47B21D7D41C00FED241 /* JotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF47A21D7D41C00FED241 /* JotTests.swift */; }; - 82CAF48821D7D56D00FED241 /* JWT.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF48721D7D56D00FED241 /* JWT.swift */; }; + 82CAF48821D7D56D00FED241 /* Jwt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF48721D7D56D00FED241 /* Jwt.swift */; }; 82CAF48B21D7D5B700FED241 /* Payload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF48A21D7D5B700FED241 /* Payload.swift */; }; 82CAF48D21D7D60100FED241 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF48C21D7D60000FED241 /* Header.swift */; }; 82CAF48F21D7D81800FED241 /* Signature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CAF48E21D7D81800FED241 /* Signature.swift */; }; @@ -30,16 +30,16 @@ /* Begin PBXFileReference section */ 821E160621D7ED3F00E2D71A /* TokenDeserializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenDeserializer.swift; sourceTree = ""; }; + 821E162721DA9A3700E2D71A /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; 82CAF46621D7D41800FED241 /* Jot.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Jot.app; sourceTree = BUILT_PRODUCTS_DIR; }; 82CAF46921D7D41800FED241 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 82CAF46B21D7D41C00FED241 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 82CAF46E21D7D41C00FED241 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; 82CAF47021D7D41C00FED241 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 82CAF47121D7D41C00FED241 /* Jot.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Jot.entitlements; sourceTree = ""; }; 82CAF47621D7D41C00FED241 /* JotTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JotTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 82CAF47A21D7D41C00FED241 /* JotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JotTests.swift; sourceTree = ""; }; 82CAF47C21D7D41C00FED241 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 82CAF48721D7D56D00FED241 /* JWT.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JWT.swift; sourceTree = ""; }; + 82CAF48721D7D56D00FED241 /* Jwt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Jwt.swift; sourceTree = ""; }; 82CAF48A21D7D5B700FED241 /* Payload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Payload.swift; sourceTree = ""; }; 82CAF48C21D7D60000FED241 /* Header.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; 82CAF48E21D7D81800FED241 /* Signature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Signature.swift; sourceTree = ""; }; @@ -88,7 +88,7 @@ 82CAF48521D7D53C00FED241 /* Token */, 82CAF46921D7D41800FED241 /* AppDelegate.swift */, 82CAF46B21D7D41C00FED241 /* Assets.xcassets */, - 82CAF46D21D7D41C00FED241 /* MainMenu.xib */, + 821E162721DA9A3700E2D71A /* Main.storyboard */, 82CAF47021D7D41C00FED241 /* Info.plist */, 82CAF47121D7D41C00FED241 /* Jot.entitlements */, ); @@ -107,7 +107,7 @@ 82CAF48521D7D53C00FED241 /* Token */ = { isa = PBXGroup; children = ( - 82CAF48721D7D56D00FED241 /* JWT.swift */, + 82CAF48721D7D56D00FED241 /* Jwt.swift */, 82CAF48A21D7D5B700FED241 /* Payload.swift */, 82CAF48C21D7D60000FED241 /* Header.swift */, 82CAF48E21D7D81800FED241 /* Signature.swift */, @@ -173,6 +173,14 @@ TargetAttributes = { 82CAF46521D7D41800FED241 = { CreatedOnToolsVersion = 10.1; + SystemCapabilities = { + com.apple.HardenedRuntime = { + enabled = 1; + }; + com.apple.Sandbox = { + enabled = 1; + }; + }; }; 82CAF47521D7D41C00FED241 = { CreatedOnToolsVersion = 10.1; @@ -205,7 +213,7 @@ buildActionMask = 2147483647; files = ( 82CAF46C21D7D41C00FED241 /* Assets.xcassets in Resources */, - 82CAF46F21D7D41C00FED241 /* MainMenu.xib in Resources */, + 821E162821DA9A3700E2D71A /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -228,7 +236,7 @@ 82CAF48B21D7D5B700FED241 /* Payload.swift in Sources */, 82CAF46A21D7D41800FED241 /* AppDelegate.swift in Sources */, 82CAF48F21D7D81800FED241 /* Signature.swift in Sources */, - 82CAF48821D7D56D00FED241 /* JWT.swift in Sources */, + 82CAF48821D7D56D00FED241 /* Jwt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -250,17 +258,6 @@ }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - 82CAF46D21D7D41C00FED241 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 82CAF46E21D7D41C00FED241 /* Base */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 82CAF47D21D7D41C00FED241 /* Debug */ = { isa = XCBuildConfiguration; @@ -385,6 +382,7 @@ CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = TQ65TXGTY3; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Jot/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -404,6 +402,7 @@ CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = TQ65TXGTY3; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Jot/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/Jot/AppDelegate.swift b/Jot/AppDelegate.swift index 6bf5a25..61bfd15 100644 --- a/Jot/AppDelegate.swift +++ b/Jot/AppDelegate.swift @@ -11,17 +11,13 @@ import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { - @IBOutlet weak var window: NSWindow! - - func applicationDidFinishLaunching(_ aNotification: Notification) { // Insert code here to initialize your application } - + func applicationWillTerminate(_ aNotification: Notification) { // Insert code here to tear down your application } - - + } diff --git a/Jot/Base.lproj/MainMenu.xib b/Jot/Base.lproj/MainMenu.xib deleted file mode 100644 index 1d37405..0000000 --- a/Jot/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Jot/Info.plist b/Jot/Info.plist index 1fd641b..942f34d 100644 --- a/Jot/Info.plist +++ b/Jot/Info.plist @@ -24,8 +24,8 @@ $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright Copyright © 2018 James Griffin-Allwood. All rights reserved. - NSMainNibFile - MainMenu + NSMainStoryboardFile + Main NSPrincipalClass NSApplication diff --git a/Jot/Jot.entitlements b/Jot/Jot.entitlements index f2ef3ae..625af03 100644 --- a/Jot/Jot.entitlements +++ b/Jot/Jot.entitlements @@ -2,9 +2,11 @@ - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + com.apple.security.network.client + diff --git a/Jot/Main.storyboard b/Jot/Main.storyboard new file mode 100644 index 0000000..9557dc0 --- /dev/null +++ b/Jot/Main.storyboard @@ -0,0 +1,718 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Jot/Token/JWT.swift b/Jot/Token/Jwt.swift similarity index 97% rename from Jot/Token/JWT.swift rename to Jot/Token/Jwt.swift index 6f49c9b..67d0eb0 100644 --- a/Jot/Token/JWT.swift +++ b/Jot/Token/Jwt.swift @@ -8,7 +8,7 @@ import Foundation -class JWT { +class Jwt { let header: Header let payload: Payload let signature: Signature diff --git a/Jot/Token/TokenDeserializer.swift b/Jot/Token/TokenDeserializer.swift index 5128a39..de5d4f6 100644 --- a/Jot/Token/TokenDeserializer.swift +++ b/Jot/Token/TokenDeserializer.swift @@ -9,7 +9,7 @@ import Foundation import os.log -extension JWT { +extension Jwt { convenience init?(token: String) { let decoder = JSONDecoder() let jwtParts = token.split(separator: ".")