Skip to content

Commit c9790b0

Browse files
committed
Add DarkTheme
1 parent ce94686 commit c9790b0

File tree

16 files changed

+1153
-0
lines changed

16 files changed

+1153
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,357 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 50;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
535DFF62241589FD00DF6476 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF61241589FD00DF6476 /* AppDelegate.swift */; };
11+
535DFF64241589FD00DF6476 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF63241589FD00DF6476 /* SceneDelegate.swift */; };
12+
535DFF6B241589FD00DF6476 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 535DFF69241589FD00DF6476 /* Main.storyboard */; };
13+
535DFF6D24158A0100DF6476 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 535DFF6C24158A0100DF6476 /* Assets.xcassets */; };
14+
535DFF7024158A0100DF6476 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 535DFF6E24158A0100DF6476 /* LaunchScreen.storyboard */; };
15+
535DFF7824158B3E00DF6476 /* ThemeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF7724158B3E00DF6476 /* ThemeTableViewController.swift */; };
16+
535DFF7A24158B8E00DF6476 /* TextViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF7924158B8E00DF6476 /* TextViewController.swift */; };
17+
535DFF7C241597CA00DF6476 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF7B241597CA00DF6476 /* Theme.swift */; };
18+
535DFF7E2415996900DF6476 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535DFF7D2415996900DF6476 /* Settings.swift */; };
19+
/* End PBXBuildFile section */
20+
21+
/* Begin PBXFileReference section */
22+
535DFF5E241589FD00DF6476 /* DarkTheme.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DarkTheme.app; sourceTree = BUILT_PRODUCTS_DIR; };
23+
535DFF61241589FD00DF6476 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
24+
535DFF63241589FD00DF6476 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
25+
535DFF6A241589FD00DF6476 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
26+
535DFF6C24158A0100DF6476 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
27+
535DFF6F24158A0100DF6476 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
28+
535DFF7124158A0100DF6476 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
29+
535DFF7724158B3E00DF6476 /* ThemeTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTableViewController.swift; sourceTree = "<group>"; };
30+
535DFF7924158B8E00DF6476 /* TextViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewController.swift; sourceTree = "<group>"; };
31+
535DFF7B241597CA00DF6476 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
32+
535DFF7D2415996900DF6476 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = "<group>"; };
33+
535DFF7F2416A58B00DF6476 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
34+
/* End PBXFileReference section */
35+
36+
/* Begin PBXFrameworksBuildPhase section */
37+
535DFF5B241589FD00DF6476 /* Frameworks */ = {
38+
isa = PBXFrameworksBuildPhase;
39+
buildActionMask = 2147483647;
40+
files = (
41+
);
42+
runOnlyForDeploymentPostprocessing = 0;
43+
};
44+
/* End PBXFrameworksBuildPhase section */
45+
46+
/* Begin PBXGroup section */
47+
535DFF55241589FD00DF6476 = {
48+
isa = PBXGroup;
49+
children = (
50+
535DFF7F2416A58B00DF6476 /* README.md */,
51+
535DFF60241589FD00DF6476 /* DarkTheme */,
52+
535DFF5F241589FD00DF6476 /* Products */,
53+
);
54+
sourceTree = "<group>";
55+
};
56+
535DFF5F241589FD00DF6476 /* Products */ = {
57+
isa = PBXGroup;
58+
children = (
59+
535DFF5E241589FD00DF6476 /* DarkTheme.app */,
60+
);
61+
name = Products;
62+
sourceTree = "<group>";
63+
};
64+
535DFF60241589FD00DF6476 /* DarkTheme */ = {
65+
isa = PBXGroup;
66+
children = (
67+
535DFF7724158B3E00DF6476 /* ThemeTableViewController.swift */,
68+
535DFF7B241597CA00DF6476 /* Theme.swift */,
69+
535DFF7D2415996900DF6476 /* Settings.swift */,
70+
535DFF7924158B8E00DF6476 /* TextViewController.swift */,
71+
535DFF61241589FD00DF6476 /* AppDelegate.swift */,
72+
535DFF63241589FD00DF6476 /* SceneDelegate.swift */,
73+
535DFF69241589FD00DF6476 /* Main.storyboard */,
74+
535DFF6C24158A0100DF6476 /* Assets.xcassets */,
75+
535DFF6E24158A0100DF6476 /* LaunchScreen.storyboard */,
76+
535DFF7124158A0100DF6476 /* Info.plist */,
77+
);
78+
path = DarkTheme;
79+
sourceTree = "<group>";
80+
};
81+
/* End PBXGroup section */
82+
83+
/* Begin PBXNativeTarget section */
84+
535DFF5D241589FD00DF6476 /* DarkTheme */ = {
85+
isa = PBXNativeTarget;
86+
buildConfigurationList = 535DFF7424158A0100DF6476 /* Build configuration list for PBXNativeTarget "DarkTheme" */;
87+
buildPhases = (
88+
535DFF5A241589FD00DF6476 /* Sources */,
89+
535DFF5B241589FD00DF6476 /* Frameworks */,
90+
535DFF5C241589FD00DF6476 /* Resources */,
91+
);
92+
buildRules = (
93+
);
94+
dependencies = (
95+
);
96+
name = DarkTheme;
97+
productName = DarkTheme;
98+
productReference = 535DFF5E241589FD00DF6476 /* DarkTheme.app */;
99+
productType = "com.apple.product-type.application";
100+
};
101+
/* End PBXNativeTarget section */
102+
103+
/* Begin PBXProject section */
104+
535DFF56241589FD00DF6476 /* Project object */ = {
105+
isa = PBXProject;
106+
attributes = {
107+
LastSwiftUpdateCheck = 1140;
108+
LastUpgradeCheck = 1140;
109+
ORGANIZATIONNAME = "Keith Harrison";
110+
TargetAttributes = {
111+
535DFF5D241589FD00DF6476 = {
112+
CreatedOnToolsVersion = 11.4;
113+
};
114+
};
115+
};
116+
buildConfigurationList = 535DFF59241589FD00DF6476 /* Build configuration list for PBXProject "DarkTheme" */;
117+
compatibilityVersion = "Xcode 9.3";
118+
developmentRegion = en;
119+
hasScannedForEncodings = 0;
120+
knownRegions = (
121+
en,
122+
Base,
123+
);
124+
mainGroup = 535DFF55241589FD00DF6476;
125+
productRefGroup = 535DFF5F241589FD00DF6476 /* Products */;
126+
projectDirPath = "";
127+
projectRoot = "";
128+
targets = (
129+
535DFF5D241589FD00DF6476 /* DarkTheme */,
130+
);
131+
};
132+
/* End PBXProject section */
133+
134+
/* Begin PBXResourcesBuildPhase section */
135+
535DFF5C241589FD00DF6476 /* Resources */ = {
136+
isa = PBXResourcesBuildPhase;
137+
buildActionMask = 2147483647;
138+
files = (
139+
535DFF7024158A0100DF6476 /* LaunchScreen.storyboard in Resources */,
140+
535DFF6D24158A0100DF6476 /* Assets.xcassets in Resources */,
141+
535DFF6B241589FD00DF6476 /* Main.storyboard in Resources */,
142+
);
143+
runOnlyForDeploymentPostprocessing = 0;
144+
};
145+
/* End PBXResourcesBuildPhase section */
146+
147+
/* Begin PBXSourcesBuildPhase section */
148+
535DFF5A241589FD00DF6476 /* Sources */ = {
149+
isa = PBXSourcesBuildPhase;
150+
buildActionMask = 2147483647;
151+
files = (
152+
535DFF7E2415996900DF6476 /* Settings.swift in Sources */,
153+
535DFF7824158B3E00DF6476 /* ThemeTableViewController.swift in Sources */,
154+
535DFF62241589FD00DF6476 /* AppDelegate.swift in Sources */,
155+
535DFF7C241597CA00DF6476 /* Theme.swift in Sources */,
156+
535DFF64241589FD00DF6476 /* SceneDelegate.swift in Sources */,
157+
535DFF7A24158B8E00DF6476 /* TextViewController.swift in Sources */,
158+
);
159+
runOnlyForDeploymentPostprocessing = 0;
160+
};
161+
/* End PBXSourcesBuildPhase section */
162+
163+
/* Begin PBXVariantGroup section */
164+
535DFF69241589FD00DF6476 /* Main.storyboard */ = {
165+
isa = PBXVariantGroup;
166+
children = (
167+
535DFF6A241589FD00DF6476 /* Base */,
168+
);
169+
name = Main.storyboard;
170+
sourceTree = "<group>";
171+
};
172+
535DFF6E24158A0100DF6476 /* LaunchScreen.storyboard */ = {
173+
isa = PBXVariantGroup;
174+
children = (
175+
535DFF6F24158A0100DF6476 /* Base */,
176+
);
177+
name = LaunchScreen.storyboard;
178+
sourceTree = "<group>";
179+
};
180+
/* End PBXVariantGroup section */
181+
182+
/* Begin XCBuildConfiguration section */
183+
535DFF7224158A0100DF6476 /* Debug */ = {
184+
isa = XCBuildConfiguration;
185+
buildSettings = {
186+
ALWAYS_SEARCH_USER_PATHS = NO;
187+
CLANG_ANALYZER_NONNULL = YES;
188+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
189+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
190+
CLANG_CXX_LIBRARY = "libc++";
191+
CLANG_ENABLE_MODULES = YES;
192+
CLANG_ENABLE_OBJC_ARC = YES;
193+
CLANG_ENABLE_OBJC_WEAK = YES;
194+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
195+
CLANG_WARN_BOOL_CONVERSION = YES;
196+
CLANG_WARN_COMMA = YES;
197+
CLANG_WARN_CONSTANT_CONVERSION = YES;
198+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
199+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
200+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
201+
CLANG_WARN_EMPTY_BODY = YES;
202+
CLANG_WARN_ENUM_CONVERSION = YES;
203+
CLANG_WARN_INFINITE_RECURSION = YES;
204+
CLANG_WARN_INT_CONVERSION = YES;
205+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
206+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
207+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
208+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
209+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
210+
CLANG_WARN_STRICT_PROTOTYPES = YES;
211+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
212+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
213+
CLANG_WARN_UNREACHABLE_CODE = YES;
214+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
215+
COPY_PHASE_STRIP = NO;
216+
DEBUG_INFORMATION_FORMAT = dwarf;
217+
ENABLE_STRICT_OBJC_MSGSEND = YES;
218+
ENABLE_TESTABILITY = YES;
219+
GCC_C_LANGUAGE_STANDARD = gnu11;
220+
GCC_DYNAMIC_NO_PIC = NO;
221+
GCC_NO_COMMON_BLOCKS = YES;
222+
GCC_OPTIMIZATION_LEVEL = 0;
223+
GCC_PREPROCESSOR_DEFINITIONS = (
224+
"DEBUG=1",
225+
"$(inherited)",
226+
);
227+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
228+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
229+
GCC_WARN_UNDECLARED_SELECTOR = YES;
230+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
231+
GCC_WARN_UNUSED_FUNCTION = YES;
232+
GCC_WARN_UNUSED_VARIABLE = YES;
233+
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
234+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
235+
MTL_FAST_MATH = YES;
236+
ONLY_ACTIVE_ARCH = YES;
237+
SDKROOT = iphoneos;
238+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
239+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
240+
};
241+
name = Debug;
242+
};
243+
535DFF7324158A0100DF6476 /* Release */ = {
244+
isa = XCBuildConfiguration;
245+
buildSettings = {
246+
ALWAYS_SEARCH_USER_PATHS = NO;
247+
CLANG_ANALYZER_NONNULL = YES;
248+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
249+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
250+
CLANG_CXX_LIBRARY = "libc++";
251+
CLANG_ENABLE_MODULES = YES;
252+
CLANG_ENABLE_OBJC_ARC = YES;
253+
CLANG_ENABLE_OBJC_WEAK = YES;
254+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
255+
CLANG_WARN_BOOL_CONVERSION = YES;
256+
CLANG_WARN_COMMA = YES;
257+
CLANG_WARN_CONSTANT_CONVERSION = YES;
258+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
259+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
260+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
261+
CLANG_WARN_EMPTY_BODY = YES;
262+
CLANG_WARN_ENUM_CONVERSION = YES;
263+
CLANG_WARN_INFINITE_RECURSION = YES;
264+
CLANG_WARN_INT_CONVERSION = YES;
265+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
266+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
267+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
268+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
269+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
270+
CLANG_WARN_STRICT_PROTOTYPES = YES;
271+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
272+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
273+
CLANG_WARN_UNREACHABLE_CODE = YES;
274+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
275+
COPY_PHASE_STRIP = NO;
276+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
277+
ENABLE_NS_ASSERTIONS = NO;
278+
ENABLE_STRICT_OBJC_MSGSEND = YES;
279+
GCC_C_LANGUAGE_STANDARD = gnu11;
280+
GCC_NO_COMMON_BLOCKS = YES;
281+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
282+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
283+
GCC_WARN_UNDECLARED_SELECTOR = YES;
284+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
285+
GCC_WARN_UNUSED_FUNCTION = YES;
286+
GCC_WARN_UNUSED_VARIABLE = YES;
287+
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
288+
MTL_ENABLE_DEBUG_INFO = NO;
289+
MTL_FAST_MATH = YES;
290+
SDKROOT = iphoneos;
291+
SWIFT_COMPILATION_MODE = wholemodule;
292+
SWIFT_OPTIMIZATION_LEVEL = "-O";
293+
VALIDATE_PRODUCT = YES;
294+
};
295+
name = Release;
296+
};
297+
535DFF7524158A0100DF6476 /* Debug */ = {
298+
isa = XCBuildConfiguration;
299+
buildSettings = {
300+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
301+
CODE_SIGN_STYLE = Automatic;
302+
DEVELOPMENT_TEAM = LCC2J94N44;
303+
INFOPLIST_FILE = DarkTheme/Info.plist;
304+
LD_RUNPATH_SEARCH_PATHS = (
305+
"$(inherited)",
306+
"@executable_path/Frameworks",
307+
);
308+
PRODUCT_BUNDLE_IDENTIFIER = com.useyourloaf.DarkTheme;
309+
PRODUCT_NAME = "$(TARGET_NAME)";
310+
SWIFT_VERSION = 5.0;
311+
TARGETED_DEVICE_FAMILY = "1,2";
312+
};
313+
name = Debug;
314+
};
315+
535DFF7624158A0100DF6476 /* Release */ = {
316+
isa = XCBuildConfiguration;
317+
buildSettings = {
318+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
319+
CODE_SIGN_STYLE = Automatic;
320+
DEVELOPMENT_TEAM = LCC2J94N44;
321+
INFOPLIST_FILE = DarkTheme/Info.plist;
322+
LD_RUNPATH_SEARCH_PATHS = (
323+
"$(inherited)",
324+
"@executable_path/Frameworks",
325+
);
326+
PRODUCT_BUNDLE_IDENTIFIER = com.useyourloaf.DarkTheme;
327+
PRODUCT_NAME = "$(TARGET_NAME)";
328+
SWIFT_VERSION = 5.0;
329+
TARGETED_DEVICE_FAMILY = "1,2";
330+
};
331+
name = Release;
332+
};
333+
/* End XCBuildConfiguration section */
334+
335+
/* Begin XCConfigurationList section */
336+
535DFF59241589FD00DF6476 /* Build configuration list for PBXProject "DarkTheme" */ = {
337+
isa = XCConfigurationList;
338+
buildConfigurations = (
339+
535DFF7224158A0100DF6476 /* Debug */,
340+
535DFF7324158A0100DF6476 /* Release */,
341+
);
342+
defaultConfigurationIsVisible = 0;
343+
defaultConfigurationName = Release;
344+
};
345+
535DFF7424158A0100DF6476 /* Build configuration list for PBXNativeTarget "DarkTheme" */ = {
346+
isa = XCConfigurationList;
347+
buildConfigurations = (
348+
535DFF7524158A0100DF6476 /* Debug */,
349+
535DFF7624158A0100DF6476 /* Release */,
350+
);
351+
defaultConfigurationIsVisible = 0;
352+
defaultConfigurationName = Release;
353+
};
354+
/* End XCConfigurationList section */
355+
};
356+
rootObject = 535DFF56241589FD00DF6476 /* Project object */;
357+
}

DarkTheme/DarkTheme/AppDelegate.swift

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Created by Keith Harrison https://useyourloaf.com
2+
// Copyright © 2020 Keith Harrison. All rights reserved.
3+
//
4+
// Redistribution and use in source and binary forms, with or without
5+
// modification, are permitted provided that the following conditions are met:
6+
//
7+
// 1. Redistributions of source code must retain the above copyright
8+
// notice, this list of conditions and the following disclaimer.
9+
//
10+
// 2. Redistributions in binary form must reproduce the above copyright
11+
// notice, this list of conditions and the following disclaimer in the
12+
// documentation and/or other materials provided with the distribution.
13+
//
14+
// 3. Neither the name of the copyright holder nor the names of its
15+
// contributors may be used to endorse or promote products derived from
16+
// this software without specific prior written permission.
17+
//
18+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21+
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22+
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23+
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24+
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25+
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26+
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27+
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28+
// POSSIBILITY OF SUCH DAMAGE.
29+
30+
import UIKit
31+
32+
@UIApplicationMain
33+
class AppDelegate: UIResponder, UIApplicationDelegate {
34+
}

0 commit comments

Comments
 (0)