Skip to content

Commit 8f0241a

Browse files
committed
100 Days of SwiftUI - Day 25
Milestone: Projects 1-3 Challenge
1 parent e5053ca commit 8f0241a

File tree

11 files changed

+678
-2
lines changed

11 files changed

+678
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ Challenges are available inside [`SwiftUI`](SwiftUI) directory. (🚧 Still in p
3838
[swift_current_day]: https://www.hackingwithswift.com/100/65
3939
[swift_progress]: https://img.shields.io/badge/100%20Days%20of%20Swift-65-D64D42
4040

41-
[swiftui_current_day]: https://www.hackingwithswift.com/100/swiftui/24
42-
[swiftui_progress]: https://img.shields.io/badge/100%20Days%20of%20SwiftUI-24-3463DA
41+
[swiftui_current_day]: https://www.hackingwithswift.com/100/swiftui/25
42+
[swiftui_progress]: https://img.shields.io/badge/100%20Days%20of%20SwiftUI-25-3463DA
Lines changed: 344 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,344 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 55;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
07D690E2279C11E000C13AB7 /* Milestone_Projects1_3App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D690E1279C11E000C13AB7 /* Milestone_Projects1_3App.swift */; };
11+
07D690E4279C11E000C13AB7 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D690E3279C11E000C13AB7 /* ContentView.swift */; };
12+
07D690E6279C11E200C13AB7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07D690E5279C11E200C13AB7 /* Assets.xcassets */; };
13+
07D690E9279C11E200C13AB7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07D690E8279C11E200C13AB7 /* Preview Assets.xcassets */; };
14+
/* End PBXBuildFile section */
15+
16+
/* Begin PBXFileReference section */
17+
07D690DE279C11E000C13AB7 /* Milestone-Projects1_3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Milestone-Projects1_3.app"; sourceTree = BUILT_PRODUCTS_DIR; };
18+
07D690E1279C11E000C13AB7 /* Milestone_Projects1_3App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Milestone_Projects1_3App.swift; sourceTree = "<group>"; };
19+
07D690E3279C11E000C13AB7 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
20+
07D690E5279C11E200C13AB7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
21+
07D690E8279C11E200C13AB7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
22+
/* End PBXFileReference section */
23+
24+
/* Begin PBXFrameworksBuildPhase section */
25+
07D690DB279C11E000C13AB7 /* Frameworks */ = {
26+
isa = PBXFrameworksBuildPhase;
27+
buildActionMask = 2147483647;
28+
files = (
29+
);
30+
runOnlyForDeploymentPostprocessing = 0;
31+
};
32+
/* End PBXFrameworksBuildPhase section */
33+
34+
/* Begin PBXGroup section */
35+
07D690D5279C11DF00C13AB7 = {
36+
isa = PBXGroup;
37+
children = (
38+
07D690E0279C11E000C13AB7 /* Milestone-Projects1_3 */,
39+
07D690DF279C11E000C13AB7 /* Products */,
40+
);
41+
sourceTree = "<group>";
42+
};
43+
07D690DF279C11E000C13AB7 /* Products */ = {
44+
isa = PBXGroup;
45+
children = (
46+
07D690DE279C11E000C13AB7 /* Milestone-Projects1_3.app */,
47+
);
48+
name = Products;
49+
sourceTree = "<group>";
50+
};
51+
07D690E0279C11E000C13AB7 /* Milestone-Projects1_3 */ = {
52+
isa = PBXGroup;
53+
children = (
54+
07D690E1279C11E000C13AB7 /* Milestone_Projects1_3App.swift */,
55+
07D690E3279C11E000C13AB7 /* ContentView.swift */,
56+
07D690E5279C11E200C13AB7 /* Assets.xcassets */,
57+
07D690E7279C11E200C13AB7 /* Preview Content */,
58+
);
59+
path = "Milestone-Projects1_3";
60+
sourceTree = "<group>";
61+
};
62+
07D690E7279C11E200C13AB7 /* Preview Content */ = {
63+
isa = PBXGroup;
64+
children = (
65+
07D690E8279C11E200C13AB7 /* Preview Assets.xcassets */,
66+
);
67+
path = "Preview Content";
68+
sourceTree = "<group>";
69+
};
70+
/* End PBXGroup section */
71+
72+
/* Begin PBXNativeTarget section */
73+
07D690DD279C11E000C13AB7 /* Milestone-Projects1_3 */ = {
74+
isa = PBXNativeTarget;
75+
buildConfigurationList = 07D690EC279C11E200C13AB7 /* Build configuration list for PBXNativeTarget "Milestone-Projects1_3" */;
76+
buildPhases = (
77+
07D690DA279C11E000C13AB7 /* Sources */,
78+
07D690DB279C11E000C13AB7 /* Frameworks */,
79+
07D690DC279C11E000C13AB7 /* Resources */,
80+
);
81+
buildRules = (
82+
);
83+
dependencies = (
84+
);
85+
name = "Milestone-Projects1_3";
86+
productName = "Milestone-Projects1_3";
87+
productReference = 07D690DE279C11E000C13AB7 /* Milestone-Projects1_3.app */;
88+
productType = "com.apple.product-type.application";
89+
};
90+
/* End PBXNativeTarget section */
91+
92+
/* Begin PBXProject section */
93+
07D690D6279C11DF00C13AB7 /* Project object */ = {
94+
isa = PBXProject;
95+
attributes = {
96+
BuildIndependentTargetsInParallel = 1;
97+
LastSwiftUpdateCheck = 1320;
98+
LastUpgradeCheck = 1320;
99+
TargetAttributes = {
100+
07D690DD279C11E000C13AB7 = {
101+
CreatedOnToolsVersion = 13.2.1;
102+
};
103+
};
104+
};
105+
buildConfigurationList = 07D690D9279C11DF00C13AB7 /* Build configuration list for PBXProject "Milestone-Projects1_3" */;
106+
compatibilityVersion = "Xcode 13.0";
107+
developmentRegion = en;
108+
hasScannedForEncodings = 0;
109+
knownRegions = (
110+
en,
111+
Base,
112+
);
113+
mainGroup = 07D690D5279C11DF00C13AB7;
114+
productRefGroup = 07D690DF279C11E000C13AB7 /* Products */;
115+
projectDirPath = "";
116+
projectRoot = "";
117+
targets = (
118+
07D690DD279C11E000C13AB7 /* Milestone-Projects1_3 */,
119+
);
120+
};
121+
/* End PBXProject section */
122+
123+
/* Begin PBXResourcesBuildPhase section */
124+
07D690DC279C11E000C13AB7 /* Resources */ = {
125+
isa = PBXResourcesBuildPhase;
126+
buildActionMask = 2147483647;
127+
files = (
128+
07D690E9279C11E200C13AB7 /* Preview Assets.xcassets in Resources */,
129+
07D690E6279C11E200C13AB7 /* Assets.xcassets in Resources */,
130+
);
131+
runOnlyForDeploymentPostprocessing = 0;
132+
};
133+
/* End PBXResourcesBuildPhase section */
134+
135+
/* Begin PBXSourcesBuildPhase section */
136+
07D690DA279C11E000C13AB7 /* Sources */ = {
137+
isa = PBXSourcesBuildPhase;
138+
buildActionMask = 2147483647;
139+
files = (
140+
07D690E4279C11E000C13AB7 /* ContentView.swift in Sources */,
141+
07D690E2279C11E000C13AB7 /* Milestone_Projects1_3App.swift in Sources */,
142+
);
143+
runOnlyForDeploymentPostprocessing = 0;
144+
};
145+
/* End PBXSourcesBuildPhase section */
146+
147+
/* Begin XCBuildConfiguration section */
148+
07D690EA279C11E200C13AB7 /* Debug */ = {
149+
isa = XCBuildConfiguration;
150+
buildSettings = {
151+
ALWAYS_SEARCH_USER_PATHS = NO;
152+
CLANG_ANALYZER_NONNULL = YES;
153+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
154+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
155+
CLANG_CXX_LIBRARY = "libc++";
156+
CLANG_ENABLE_MODULES = YES;
157+
CLANG_ENABLE_OBJC_ARC = YES;
158+
CLANG_ENABLE_OBJC_WEAK = YES;
159+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
160+
CLANG_WARN_BOOL_CONVERSION = YES;
161+
CLANG_WARN_COMMA = YES;
162+
CLANG_WARN_CONSTANT_CONVERSION = YES;
163+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
164+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
165+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
166+
CLANG_WARN_EMPTY_BODY = YES;
167+
CLANG_WARN_ENUM_CONVERSION = YES;
168+
CLANG_WARN_INFINITE_RECURSION = YES;
169+
CLANG_WARN_INT_CONVERSION = YES;
170+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
171+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
172+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
173+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
174+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
175+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
176+
CLANG_WARN_STRICT_PROTOTYPES = YES;
177+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
178+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
179+
CLANG_WARN_UNREACHABLE_CODE = YES;
180+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
181+
COPY_PHASE_STRIP = NO;
182+
DEBUG_INFORMATION_FORMAT = dwarf;
183+
ENABLE_STRICT_OBJC_MSGSEND = YES;
184+
ENABLE_TESTABILITY = YES;
185+
GCC_C_LANGUAGE_STANDARD = gnu11;
186+
GCC_DYNAMIC_NO_PIC = NO;
187+
GCC_NO_COMMON_BLOCKS = YES;
188+
GCC_OPTIMIZATION_LEVEL = 0;
189+
GCC_PREPROCESSOR_DEFINITIONS = (
190+
"DEBUG=1",
191+
"$(inherited)",
192+
);
193+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
194+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
195+
GCC_WARN_UNDECLARED_SELECTOR = YES;
196+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
197+
GCC_WARN_UNUSED_FUNCTION = YES;
198+
GCC_WARN_UNUSED_VARIABLE = YES;
199+
IPHONEOS_DEPLOYMENT_TARGET = 15.2;
200+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
201+
MTL_FAST_MATH = YES;
202+
ONLY_ACTIVE_ARCH = YES;
203+
SDKROOT = iphoneos;
204+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
205+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
206+
};
207+
name = Debug;
208+
};
209+
07D690EB279C11E200C13AB7 /* Release */ = {
210+
isa = XCBuildConfiguration;
211+
buildSettings = {
212+
ALWAYS_SEARCH_USER_PATHS = NO;
213+
CLANG_ANALYZER_NONNULL = YES;
214+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
215+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
216+
CLANG_CXX_LIBRARY = "libc++";
217+
CLANG_ENABLE_MODULES = YES;
218+
CLANG_ENABLE_OBJC_ARC = YES;
219+
CLANG_ENABLE_OBJC_WEAK = YES;
220+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
221+
CLANG_WARN_BOOL_CONVERSION = YES;
222+
CLANG_WARN_COMMA = YES;
223+
CLANG_WARN_CONSTANT_CONVERSION = YES;
224+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
225+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
226+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
227+
CLANG_WARN_EMPTY_BODY = YES;
228+
CLANG_WARN_ENUM_CONVERSION = YES;
229+
CLANG_WARN_INFINITE_RECURSION = YES;
230+
CLANG_WARN_INT_CONVERSION = YES;
231+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
232+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
233+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
234+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
235+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
236+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
237+
CLANG_WARN_STRICT_PROTOTYPES = YES;
238+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
239+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
240+
CLANG_WARN_UNREACHABLE_CODE = YES;
241+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
242+
COPY_PHASE_STRIP = NO;
243+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
244+
ENABLE_NS_ASSERTIONS = NO;
245+
ENABLE_STRICT_OBJC_MSGSEND = YES;
246+
GCC_C_LANGUAGE_STANDARD = gnu11;
247+
GCC_NO_COMMON_BLOCKS = YES;
248+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
249+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
250+
GCC_WARN_UNDECLARED_SELECTOR = YES;
251+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
252+
GCC_WARN_UNUSED_FUNCTION = YES;
253+
GCC_WARN_UNUSED_VARIABLE = YES;
254+
IPHONEOS_DEPLOYMENT_TARGET = 15.2;
255+
MTL_ENABLE_DEBUG_INFO = NO;
256+
MTL_FAST_MATH = YES;
257+
SDKROOT = iphoneos;
258+
SWIFT_COMPILATION_MODE = wholemodule;
259+
SWIFT_OPTIMIZATION_LEVEL = "-O";
260+
VALIDATE_PRODUCT = YES;
261+
};
262+
name = Release;
263+
};
264+
07D690ED279C11E200C13AB7 /* Debug */ = {
265+
isa = XCBuildConfiguration;
266+
buildSettings = {
267+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
268+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
269+
CODE_SIGN_STYLE = Automatic;
270+
CURRENT_PROJECT_VERSION = 1;
271+
DEVELOPMENT_ASSET_PATHS = "\"Milestone-Projects1_3/Preview Content\"";
272+
ENABLE_PREVIEWS = YES;
273+
GENERATE_INFOPLIST_FILE = YES;
274+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
275+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
276+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
277+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
278+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
279+
LD_RUNPATH_SEARCH_PATHS = (
280+
"$(inherited)",
281+
"@executable_path/Frameworks",
282+
);
283+
MARKETING_VERSION = 1.0;
284+
PRODUCT_BUNDLE_IDENTIFIER = "com.cdalvaro.Milestone-Projects1-3";
285+
PRODUCT_NAME = "$(TARGET_NAME)";
286+
SWIFT_EMIT_LOC_STRINGS = YES;
287+
SWIFT_VERSION = 5.0;
288+
TARGETED_DEVICE_FAMILY = "1,2";
289+
};
290+
name = Debug;
291+
};
292+
07D690EE279C11E200C13AB7 /* Release */ = {
293+
isa = XCBuildConfiguration;
294+
buildSettings = {
295+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
296+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
297+
CODE_SIGN_STYLE = Automatic;
298+
CURRENT_PROJECT_VERSION = 1;
299+
DEVELOPMENT_ASSET_PATHS = "\"Milestone-Projects1_3/Preview Content\"";
300+
ENABLE_PREVIEWS = YES;
301+
GENERATE_INFOPLIST_FILE = YES;
302+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
303+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
304+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
305+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
306+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
307+
LD_RUNPATH_SEARCH_PATHS = (
308+
"$(inherited)",
309+
"@executable_path/Frameworks",
310+
);
311+
MARKETING_VERSION = 1.0;
312+
PRODUCT_BUNDLE_IDENTIFIER = "com.cdalvaro.Milestone-Projects1-3";
313+
PRODUCT_NAME = "$(TARGET_NAME)";
314+
SWIFT_EMIT_LOC_STRINGS = YES;
315+
SWIFT_VERSION = 5.0;
316+
TARGETED_DEVICE_FAMILY = "1,2";
317+
};
318+
name = Release;
319+
};
320+
/* End XCBuildConfiguration section */
321+
322+
/* Begin XCConfigurationList section */
323+
07D690D9279C11DF00C13AB7 /* Build configuration list for PBXProject "Milestone-Projects1_3" */ = {
324+
isa = XCConfigurationList;
325+
buildConfigurations = (
326+
07D690EA279C11E200C13AB7 /* Debug */,
327+
07D690EB279C11E200C13AB7 /* Release */,
328+
);
329+
defaultConfigurationIsVisible = 0;
330+
defaultConfigurationName = Release;
331+
};
332+
07D690EC279C11E200C13AB7 /* Build configuration list for PBXNativeTarget "Milestone-Projects1_3" */ = {
333+
isa = XCConfigurationList;
334+
buildConfigurations = (
335+
07D690ED279C11E200C13AB7 /* Debug */,
336+
07D690EE279C11E200C13AB7 /* Release */,
337+
);
338+
defaultConfigurationIsVisible = 0;
339+
defaultConfigurationName = Release;
340+
};
341+
/* End XCConfigurationList section */
342+
};
343+
rootObject = 07D690D6279C11DF00C13AB7 /* Project object */;
344+
}

SwiftUI/Milestones/Milestone-Projects1_3/Milestone-Projects1_3.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
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+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}

0 commit comments

Comments
 (0)