jrb16 commited on
Commit
ad7e80b
·
0 Parent(s):

Initial Commit

Browse files
PersonalGPT.xcodeproj/project.pbxproj ADDED
@@ -0,0 +1,581 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 56;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 48B929A829ED80EA00607E43 /* PersonalGPTApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B929A729ED80EA00607E43 /* PersonalGPTApp.swift */; };
11
+ 48B929AA29ED80EA00607E43 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B929A929ED80EA00607E43 /* ContentView.swift */; };
12
+ 48B929AC29ED80EC00607E43 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 48B929AB29ED80EC00607E43 /* Assets.xcassets */; };
13
+ 48B929AF29ED80EC00607E43 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 48B929AE29ED80EC00607E43 /* Preview Assets.xcassets */; };
14
+ 48B929BA29ED80EC00607E43 /* PersonalGPTTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B929B929ED80EC00607E43 /* PersonalGPTTests.swift */; };
15
+ 48B929C429ED80ED00607E43 /* PersonalGPTUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B929C329ED80ED00607E43 /* PersonalGPTUITests.swift */; };
16
+ 48B929C629ED80ED00607E43 /* PersonalGPTUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48B929C529ED80ED00607E43 /* PersonalGPTUITestsLaunchTests.swift */; };
17
+ /* End PBXBuildFile section */
18
+
19
+ /* Begin PBXContainerItemProxy section */
20
+ 48B929B629ED80EC00607E43 /* PBXContainerItemProxy */ = {
21
+ isa = PBXContainerItemProxy;
22
+ containerPortal = 48B9299C29ED80EA00607E43 /* Project object */;
23
+ proxyType = 1;
24
+ remoteGlobalIDString = 48B929A329ED80EA00607E43;
25
+ remoteInfo = PersonalGPT;
26
+ };
27
+ 48B929C029ED80EC00607E43 /* PBXContainerItemProxy */ = {
28
+ isa = PBXContainerItemProxy;
29
+ containerPortal = 48B9299C29ED80EA00607E43 /* Project object */;
30
+ proxyType = 1;
31
+ remoteGlobalIDString = 48B929A329ED80EA00607E43;
32
+ remoteInfo = PersonalGPT;
33
+ };
34
+ /* End PBXContainerItemProxy section */
35
+
36
+ /* Begin PBXFileReference section */
37
+ 48B929A429ED80EA00607E43 /* PersonalGPT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PersonalGPT.app; sourceTree = BUILT_PRODUCTS_DIR; };
38
+ 48B929A729ED80EA00607E43 /* PersonalGPTApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalGPTApp.swift; sourceTree = "<group>"; };
39
+ 48B929A929ED80EA00607E43 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
40
+ 48B929AB29ED80EC00607E43 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
41
+ 48B929AE29ED80EC00607E43 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
42
+ 48B929B029ED80EC00607E43 /* PersonalGPT.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PersonalGPT.entitlements; sourceTree = "<group>"; };
43
+ 48B929B529ED80EC00607E43 /* PersonalGPTTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PersonalGPTTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
44
+ 48B929B929ED80EC00607E43 /* PersonalGPTTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalGPTTests.swift; sourceTree = "<group>"; };
45
+ 48B929BF29ED80EC00607E43 /* PersonalGPTUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PersonalGPTUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
46
+ 48B929C329ED80ED00607E43 /* PersonalGPTUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalGPTUITests.swift; sourceTree = "<group>"; };
47
+ 48B929C529ED80ED00607E43 /* PersonalGPTUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalGPTUITestsLaunchTests.swift; sourceTree = "<group>"; };
48
+ /* End PBXFileReference section */
49
+
50
+ /* Begin PBXFrameworksBuildPhase section */
51
+ 48B929A129ED80EA00607E43 /* Frameworks */ = {
52
+ isa = PBXFrameworksBuildPhase;
53
+ buildActionMask = 2147483647;
54
+ files = (
55
+ );
56
+ runOnlyForDeploymentPostprocessing = 0;
57
+ };
58
+ 48B929B229ED80EC00607E43 /* Frameworks */ = {
59
+ isa = PBXFrameworksBuildPhase;
60
+ buildActionMask = 2147483647;
61
+ files = (
62
+ );
63
+ runOnlyForDeploymentPostprocessing = 0;
64
+ };
65
+ 48B929BC29ED80EC00607E43 /* Frameworks */ = {
66
+ isa = PBXFrameworksBuildPhase;
67
+ buildActionMask = 2147483647;
68
+ files = (
69
+ );
70
+ runOnlyForDeploymentPostprocessing = 0;
71
+ };
72
+ /* End PBXFrameworksBuildPhase section */
73
+
74
+ /* Begin PBXGroup section */
75
+ 48B9299B29ED80EA00607E43 = {
76
+ isa = PBXGroup;
77
+ children = (
78
+ 48B929A629ED80EA00607E43 /* PersonalGPT */,
79
+ 48B929B829ED80EC00607E43 /* PersonalGPTTests */,
80
+ 48B929C229ED80ED00607E43 /* PersonalGPTUITests */,
81
+ 48B929A529ED80EA00607E43 /* Products */,
82
+ );
83
+ sourceTree = "<group>";
84
+ };
85
+ 48B929A529ED80EA00607E43 /* Products */ = {
86
+ isa = PBXGroup;
87
+ children = (
88
+ 48B929A429ED80EA00607E43 /* PersonalGPT.app */,
89
+ 48B929B529ED80EC00607E43 /* PersonalGPTTests.xctest */,
90
+ 48B929BF29ED80EC00607E43 /* PersonalGPTUITests.xctest */,
91
+ );
92
+ name = Products;
93
+ sourceTree = "<group>";
94
+ };
95
+ 48B929A629ED80EA00607E43 /* PersonalGPT */ = {
96
+ isa = PBXGroup;
97
+ children = (
98
+ 48B929A729ED80EA00607E43 /* PersonalGPTApp.swift */,
99
+ 48B929A929ED80EA00607E43 /* ContentView.swift */,
100
+ 48B929AB29ED80EC00607E43 /* Assets.xcassets */,
101
+ 48B929B029ED80EC00607E43 /* PersonalGPT.entitlements */,
102
+ 48B929AD29ED80EC00607E43 /* Preview Content */,
103
+ );
104
+ path = PersonalGPT;
105
+ sourceTree = "<group>";
106
+ };
107
+ 48B929AD29ED80EC00607E43 /* Preview Content */ = {
108
+ isa = PBXGroup;
109
+ children = (
110
+ 48B929AE29ED80EC00607E43 /* Preview Assets.xcassets */,
111
+ );
112
+ path = "Preview Content";
113
+ sourceTree = "<group>";
114
+ };
115
+ 48B929B829ED80EC00607E43 /* PersonalGPTTests */ = {
116
+ isa = PBXGroup;
117
+ children = (
118
+ 48B929B929ED80EC00607E43 /* PersonalGPTTests.swift */,
119
+ );
120
+ path = PersonalGPTTests;
121
+ sourceTree = "<group>";
122
+ };
123
+ 48B929C229ED80ED00607E43 /* PersonalGPTUITests */ = {
124
+ isa = PBXGroup;
125
+ children = (
126
+ 48B929C329ED80ED00607E43 /* PersonalGPTUITests.swift */,
127
+ 48B929C529ED80ED00607E43 /* PersonalGPTUITestsLaunchTests.swift */,
128
+ );
129
+ path = PersonalGPTUITests;
130
+ sourceTree = "<group>";
131
+ };
132
+ /* End PBXGroup section */
133
+
134
+ /* Begin PBXNativeTarget section */
135
+ 48B929A329ED80EA00607E43 /* PersonalGPT */ = {
136
+ isa = PBXNativeTarget;
137
+ buildConfigurationList = 48B929C929ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPT" */;
138
+ buildPhases = (
139
+ 48B929A029ED80EA00607E43 /* Sources */,
140
+ 48B929A129ED80EA00607E43 /* Frameworks */,
141
+ 48B929A229ED80EA00607E43 /* Resources */,
142
+ );
143
+ buildRules = (
144
+ );
145
+ dependencies = (
146
+ );
147
+ name = PersonalGPT;
148
+ productName = PersonalGPT;
149
+ productReference = 48B929A429ED80EA00607E43 /* PersonalGPT.app */;
150
+ productType = "com.apple.product-type.application";
151
+ };
152
+ 48B929B429ED80EC00607E43 /* PersonalGPTTests */ = {
153
+ isa = PBXNativeTarget;
154
+ buildConfigurationList = 48B929CC29ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPTTests" */;
155
+ buildPhases = (
156
+ 48B929B129ED80EC00607E43 /* Sources */,
157
+ 48B929B229ED80EC00607E43 /* Frameworks */,
158
+ 48B929B329ED80EC00607E43 /* Resources */,
159
+ );
160
+ buildRules = (
161
+ );
162
+ dependencies = (
163
+ 48B929B729ED80EC00607E43 /* PBXTargetDependency */,
164
+ );
165
+ name = PersonalGPTTests;
166
+ productName = PersonalGPTTests;
167
+ productReference = 48B929B529ED80EC00607E43 /* PersonalGPTTests.xctest */;
168
+ productType = "com.apple.product-type.bundle.unit-test";
169
+ };
170
+ 48B929BE29ED80EC00607E43 /* PersonalGPTUITests */ = {
171
+ isa = PBXNativeTarget;
172
+ buildConfigurationList = 48B929CF29ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPTUITests" */;
173
+ buildPhases = (
174
+ 48B929BB29ED80EC00607E43 /* Sources */,
175
+ 48B929BC29ED80EC00607E43 /* Frameworks */,
176
+ 48B929BD29ED80EC00607E43 /* Resources */,
177
+ );
178
+ buildRules = (
179
+ );
180
+ dependencies = (
181
+ 48B929C129ED80EC00607E43 /* PBXTargetDependency */,
182
+ );
183
+ name = PersonalGPTUITests;
184
+ productName = PersonalGPTUITests;
185
+ productReference = 48B929BF29ED80EC00607E43 /* PersonalGPTUITests.xctest */;
186
+ productType = "com.apple.product-type.bundle.ui-testing";
187
+ };
188
+ /* End PBXNativeTarget section */
189
+
190
+ /* Begin PBXProject section */
191
+ 48B9299C29ED80EA00607E43 /* Project object */ = {
192
+ isa = PBXProject;
193
+ attributes = {
194
+ BuildIndependentTargetsInParallel = 1;
195
+ LastSwiftUpdateCheck = 1430;
196
+ LastUpgradeCheck = 1430;
197
+ TargetAttributes = {
198
+ 48B929A329ED80EA00607E43 = {
199
+ CreatedOnToolsVersion = 14.3;
200
+ };
201
+ 48B929B429ED80EC00607E43 = {
202
+ CreatedOnToolsVersion = 14.3;
203
+ TestTargetID = 48B929A329ED80EA00607E43;
204
+ };
205
+ 48B929BE29ED80EC00607E43 = {
206
+ CreatedOnToolsVersion = 14.3;
207
+ TestTargetID = 48B929A329ED80EA00607E43;
208
+ };
209
+ };
210
+ };
211
+ buildConfigurationList = 48B9299F29ED80EA00607E43 /* Build configuration list for PBXProject "PersonalGPT" */;
212
+ compatibilityVersion = "Xcode 14.0";
213
+ developmentRegion = en;
214
+ hasScannedForEncodings = 0;
215
+ knownRegions = (
216
+ en,
217
+ Base,
218
+ );
219
+ mainGroup = 48B9299B29ED80EA00607E43;
220
+ productRefGroup = 48B929A529ED80EA00607E43 /* Products */;
221
+ projectDirPath = "";
222
+ projectRoot = "";
223
+ targets = (
224
+ 48B929A329ED80EA00607E43 /* PersonalGPT */,
225
+ 48B929B429ED80EC00607E43 /* PersonalGPTTests */,
226
+ 48B929BE29ED80EC00607E43 /* PersonalGPTUITests */,
227
+ );
228
+ };
229
+ /* End PBXProject section */
230
+
231
+ /* Begin PBXResourcesBuildPhase section */
232
+ 48B929A229ED80EA00607E43 /* Resources */ = {
233
+ isa = PBXResourcesBuildPhase;
234
+ buildActionMask = 2147483647;
235
+ files = (
236
+ 48B929AF29ED80EC00607E43 /* Preview Assets.xcassets in Resources */,
237
+ 48B929AC29ED80EC00607E43 /* Assets.xcassets in Resources */,
238
+ );
239
+ runOnlyForDeploymentPostprocessing = 0;
240
+ };
241
+ 48B929B329ED80EC00607E43 /* Resources */ = {
242
+ isa = PBXResourcesBuildPhase;
243
+ buildActionMask = 2147483647;
244
+ files = (
245
+ );
246
+ runOnlyForDeploymentPostprocessing = 0;
247
+ };
248
+ 48B929BD29ED80EC00607E43 /* Resources */ = {
249
+ isa = PBXResourcesBuildPhase;
250
+ buildActionMask = 2147483647;
251
+ files = (
252
+ );
253
+ runOnlyForDeploymentPostprocessing = 0;
254
+ };
255
+ /* End PBXResourcesBuildPhase section */
256
+
257
+ /* Begin PBXSourcesBuildPhase section */
258
+ 48B929A029ED80EA00607E43 /* Sources */ = {
259
+ isa = PBXSourcesBuildPhase;
260
+ buildActionMask = 2147483647;
261
+ files = (
262
+ 48B929AA29ED80EA00607E43 /* ContentView.swift in Sources */,
263
+ 48B929A829ED80EA00607E43 /* PersonalGPTApp.swift in Sources */,
264
+ );
265
+ runOnlyForDeploymentPostprocessing = 0;
266
+ };
267
+ 48B929B129ED80EC00607E43 /* Sources */ = {
268
+ isa = PBXSourcesBuildPhase;
269
+ buildActionMask = 2147483647;
270
+ files = (
271
+ 48B929BA29ED80EC00607E43 /* PersonalGPTTests.swift in Sources */,
272
+ );
273
+ runOnlyForDeploymentPostprocessing = 0;
274
+ };
275
+ 48B929BB29ED80EC00607E43 /* Sources */ = {
276
+ isa = PBXSourcesBuildPhase;
277
+ buildActionMask = 2147483647;
278
+ files = (
279
+ 48B929C629ED80ED00607E43 /* PersonalGPTUITestsLaunchTests.swift in Sources */,
280
+ 48B929C429ED80ED00607E43 /* PersonalGPTUITests.swift in Sources */,
281
+ );
282
+ runOnlyForDeploymentPostprocessing = 0;
283
+ };
284
+ /* End PBXSourcesBuildPhase section */
285
+
286
+ /* Begin PBXTargetDependency section */
287
+ 48B929B729ED80EC00607E43 /* PBXTargetDependency */ = {
288
+ isa = PBXTargetDependency;
289
+ target = 48B929A329ED80EA00607E43 /* PersonalGPT */;
290
+ targetProxy = 48B929B629ED80EC00607E43 /* PBXContainerItemProxy */;
291
+ };
292
+ 48B929C129ED80EC00607E43 /* PBXTargetDependency */ = {
293
+ isa = PBXTargetDependency;
294
+ target = 48B929A329ED80EA00607E43 /* PersonalGPT */;
295
+ targetProxy = 48B929C029ED80EC00607E43 /* PBXContainerItemProxy */;
296
+ };
297
+ /* End PBXTargetDependency section */
298
+
299
+ /* Begin XCBuildConfiguration section */
300
+ 48B929C729ED80ED00607E43 /* Debug */ = {
301
+ isa = XCBuildConfiguration;
302
+ buildSettings = {
303
+ ALWAYS_SEARCH_USER_PATHS = NO;
304
+ CLANG_ANALYZER_NONNULL = YES;
305
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
306
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
307
+ CLANG_ENABLE_MODULES = YES;
308
+ CLANG_ENABLE_OBJC_ARC = YES;
309
+ CLANG_ENABLE_OBJC_WEAK = YES;
310
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
311
+ CLANG_WARN_BOOL_CONVERSION = YES;
312
+ CLANG_WARN_COMMA = YES;
313
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
314
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
315
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
316
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
317
+ CLANG_WARN_EMPTY_BODY = YES;
318
+ CLANG_WARN_ENUM_CONVERSION = YES;
319
+ CLANG_WARN_INFINITE_RECURSION = YES;
320
+ CLANG_WARN_INT_CONVERSION = YES;
321
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
322
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
323
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
324
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
325
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
326
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
327
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
328
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
329
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
330
+ CLANG_WARN_UNREACHABLE_CODE = YES;
331
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
332
+ COPY_PHASE_STRIP = NO;
333
+ DEBUG_INFORMATION_FORMAT = dwarf;
334
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
335
+ ENABLE_TESTABILITY = YES;
336
+ GCC_C_LANGUAGE_STANDARD = gnu11;
337
+ GCC_DYNAMIC_NO_PIC = NO;
338
+ GCC_NO_COMMON_BLOCKS = YES;
339
+ GCC_OPTIMIZATION_LEVEL = 0;
340
+ GCC_PREPROCESSOR_DEFINITIONS = (
341
+ "DEBUG=1",
342
+ "$(inherited)",
343
+ );
344
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
345
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
346
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
347
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
348
+ GCC_WARN_UNUSED_FUNCTION = YES;
349
+ GCC_WARN_UNUSED_VARIABLE = YES;
350
+ MACOSX_DEPLOYMENT_TARGET = 13.3;
351
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
352
+ MTL_FAST_MATH = YES;
353
+ ONLY_ACTIVE_ARCH = YES;
354
+ SDKROOT = macosx;
355
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
356
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
357
+ };
358
+ name = Debug;
359
+ };
360
+ 48B929C829ED80ED00607E43 /* Release */ = {
361
+ isa = XCBuildConfiguration;
362
+ buildSettings = {
363
+ ALWAYS_SEARCH_USER_PATHS = NO;
364
+ CLANG_ANALYZER_NONNULL = YES;
365
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
366
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
367
+ CLANG_ENABLE_MODULES = YES;
368
+ CLANG_ENABLE_OBJC_ARC = YES;
369
+ CLANG_ENABLE_OBJC_WEAK = YES;
370
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
371
+ CLANG_WARN_BOOL_CONVERSION = YES;
372
+ CLANG_WARN_COMMA = YES;
373
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
374
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
375
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
376
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
377
+ CLANG_WARN_EMPTY_BODY = YES;
378
+ CLANG_WARN_ENUM_CONVERSION = YES;
379
+ CLANG_WARN_INFINITE_RECURSION = YES;
380
+ CLANG_WARN_INT_CONVERSION = YES;
381
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
382
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
383
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
384
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
385
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
386
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
387
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
388
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
389
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
390
+ CLANG_WARN_UNREACHABLE_CODE = YES;
391
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
392
+ COPY_PHASE_STRIP = NO;
393
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
394
+ ENABLE_NS_ASSERTIONS = NO;
395
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
396
+ GCC_C_LANGUAGE_STANDARD = gnu11;
397
+ GCC_NO_COMMON_BLOCKS = YES;
398
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
399
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
400
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
401
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
402
+ GCC_WARN_UNUSED_FUNCTION = YES;
403
+ GCC_WARN_UNUSED_VARIABLE = YES;
404
+ MACOSX_DEPLOYMENT_TARGET = 13.3;
405
+ MTL_ENABLE_DEBUG_INFO = NO;
406
+ MTL_FAST_MATH = YES;
407
+ SDKROOT = macosx;
408
+ SWIFT_COMPILATION_MODE = wholemodule;
409
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
410
+ };
411
+ name = Release;
412
+ };
413
+ 48B929CA29ED80ED00607E43 /* Debug */ = {
414
+ isa = XCBuildConfiguration;
415
+ buildSettings = {
416
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
417
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
418
+ CODE_SIGN_ENTITLEMENTS = PersonalGPT/PersonalGPT.entitlements;
419
+ CODE_SIGN_STYLE = Automatic;
420
+ COMBINE_HIDPI_IMAGES = YES;
421
+ CURRENT_PROJECT_VERSION = 1;
422
+ DEVELOPMENT_ASSET_PATHS = "\"PersonalGPT/Preview Content\"";
423
+ DEVELOPMENT_TEAM = F8773MR9C7;
424
+ ENABLE_HARDENED_RUNTIME = YES;
425
+ ENABLE_PREVIEWS = YES;
426
+ GENERATE_INFOPLIST_FILE = YES;
427
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
428
+ LD_RUNPATH_SEARCH_PATHS = (
429
+ "$(inherited)",
430
+ "@executable_path/../Frameworks",
431
+ );
432
+ MARKETING_VERSION = 1.0;
433
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPT;
434
+ PRODUCT_NAME = "$(TARGET_NAME)";
435
+ SWIFT_EMIT_LOC_STRINGS = YES;
436
+ SWIFT_VERSION = 5.0;
437
+ };
438
+ name = Debug;
439
+ };
440
+ 48B929CB29ED80ED00607E43 /* Release */ = {
441
+ isa = XCBuildConfiguration;
442
+ buildSettings = {
443
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
444
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
445
+ CODE_SIGN_ENTITLEMENTS = PersonalGPT/PersonalGPT.entitlements;
446
+ CODE_SIGN_STYLE = Automatic;
447
+ COMBINE_HIDPI_IMAGES = YES;
448
+ CURRENT_PROJECT_VERSION = 1;
449
+ DEVELOPMENT_ASSET_PATHS = "\"PersonalGPT/Preview Content\"";
450
+ DEVELOPMENT_TEAM = F8773MR9C7;
451
+ ENABLE_HARDENED_RUNTIME = YES;
452
+ ENABLE_PREVIEWS = YES;
453
+ GENERATE_INFOPLIST_FILE = YES;
454
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
455
+ LD_RUNPATH_SEARCH_PATHS = (
456
+ "$(inherited)",
457
+ "@executable_path/../Frameworks",
458
+ );
459
+ MARKETING_VERSION = 1.0;
460
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPT;
461
+ PRODUCT_NAME = "$(TARGET_NAME)";
462
+ SWIFT_EMIT_LOC_STRINGS = YES;
463
+ SWIFT_VERSION = 5.0;
464
+ };
465
+ name = Release;
466
+ };
467
+ 48B929CD29ED80ED00607E43 /* Debug */ = {
468
+ isa = XCBuildConfiguration;
469
+ buildSettings = {
470
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
471
+ BUNDLE_LOADER = "$(TEST_HOST)";
472
+ CODE_SIGN_STYLE = Automatic;
473
+ CURRENT_PROJECT_VERSION = 1;
474
+ DEVELOPMENT_TEAM = F8773MR9C7;
475
+ GENERATE_INFOPLIST_FILE = YES;
476
+ MACOSX_DEPLOYMENT_TARGET = 13.3;
477
+ MARKETING_VERSION = 1.0;
478
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPTTests;
479
+ PRODUCT_NAME = "$(TARGET_NAME)";
480
+ SWIFT_EMIT_LOC_STRINGS = NO;
481
+ SWIFT_VERSION = 5.0;
482
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PersonalGPT.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/PersonalGPT";
483
+ };
484
+ name = Debug;
485
+ };
486
+ 48B929CE29ED80ED00607E43 /* Release */ = {
487
+ isa = XCBuildConfiguration;
488
+ buildSettings = {
489
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
490
+ BUNDLE_LOADER = "$(TEST_HOST)";
491
+ CODE_SIGN_STYLE = Automatic;
492
+ CURRENT_PROJECT_VERSION = 1;
493
+ DEVELOPMENT_TEAM = F8773MR9C7;
494
+ GENERATE_INFOPLIST_FILE = YES;
495
+ MACOSX_DEPLOYMENT_TARGET = 13.3;
496
+ MARKETING_VERSION = 1.0;
497
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPTTests;
498
+ PRODUCT_NAME = "$(TARGET_NAME)";
499
+ SWIFT_EMIT_LOC_STRINGS = NO;
500
+ SWIFT_VERSION = 5.0;
501
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PersonalGPT.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/PersonalGPT";
502
+ };
503
+ name = Release;
504
+ };
505
+ 48B929D029ED80ED00607E43 /* Debug */ = {
506
+ isa = XCBuildConfiguration;
507
+ buildSettings = {
508
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
509
+ CODE_SIGN_STYLE = Automatic;
510
+ CURRENT_PROJECT_VERSION = 1;
511
+ DEVELOPMENT_TEAM = F8773MR9C7;
512
+ GENERATE_INFOPLIST_FILE = YES;
513
+ MARKETING_VERSION = 1.0;
514
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPTUITests;
515
+ PRODUCT_NAME = "$(TARGET_NAME)";
516
+ SWIFT_EMIT_LOC_STRINGS = NO;
517
+ SWIFT_VERSION = 5.0;
518
+ TEST_TARGET_NAME = PersonalGPT;
519
+ };
520
+ name = Debug;
521
+ };
522
+ 48B929D129ED80ED00607E43 /* Release */ = {
523
+ isa = XCBuildConfiguration;
524
+ buildSettings = {
525
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
526
+ CODE_SIGN_STYLE = Automatic;
527
+ CURRENT_PROJECT_VERSION = 1;
528
+ DEVELOPMENT_TEAM = F8773MR9C7;
529
+ GENERATE_INFOPLIST_FILE = YES;
530
+ MARKETING_VERSION = 1.0;
531
+ PRODUCT_BUNDLE_IDENTIFIER = ie.numen.PersonalGPTUITests;
532
+ PRODUCT_NAME = "$(TARGET_NAME)";
533
+ SWIFT_EMIT_LOC_STRINGS = NO;
534
+ SWIFT_VERSION = 5.0;
535
+ TEST_TARGET_NAME = PersonalGPT;
536
+ };
537
+ name = Release;
538
+ };
539
+ /* End XCBuildConfiguration section */
540
+
541
+ /* Begin XCConfigurationList section */
542
+ 48B9299F29ED80EA00607E43 /* Build configuration list for PBXProject "PersonalGPT" */ = {
543
+ isa = XCConfigurationList;
544
+ buildConfigurations = (
545
+ 48B929C729ED80ED00607E43 /* Debug */,
546
+ 48B929C829ED80ED00607E43 /* Release */,
547
+ );
548
+ defaultConfigurationIsVisible = 0;
549
+ defaultConfigurationName = Release;
550
+ };
551
+ 48B929C929ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPT" */ = {
552
+ isa = XCConfigurationList;
553
+ buildConfigurations = (
554
+ 48B929CA29ED80ED00607E43 /* Debug */,
555
+ 48B929CB29ED80ED00607E43 /* Release */,
556
+ );
557
+ defaultConfigurationIsVisible = 0;
558
+ defaultConfigurationName = Release;
559
+ };
560
+ 48B929CC29ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPTTests" */ = {
561
+ isa = XCConfigurationList;
562
+ buildConfigurations = (
563
+ 48B929CD29ED80ED00607E43 /* Debug */,
564
+ 48B929CE29ED80ED00607E43 /* Release */,
565
+ );
566
+ defaultConfigurationIsVisible = 0;
567
+ defaultConfigurationName = Release;
568
+ };
569
+ 48B929CF29ED80ED00607E43 /* Build configuration list for PBXNativeTarget "PersonalGPTUITests" */ = {
570
+ isa = XCConfigurationList;
571
+ buildConfigurations = (
572
+ 48B929D029ED80ED00607E43 /* Debug */,
573
+ 48B929D129ED80ED00607E43 /* Release */,
574
+ );
575
+ defaultConfigurationIsVisible = 0;
576
+ defaultConfigurationName = Release;
577
+ };
578
+ /* End XCConfigurationList section */
579
+ };
580
+ rootObject = 48B9299C29ED80EA00607E43 /* Project object */;
581
+ }
PersonalGPT.xcodeproj/project.xcworkspace/contents.xcworkspacedata ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
PersonalGPT.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist ADDED
@@ -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>
PersonalGPT.xcodeproj/xcuserdata/jeethu.xcuserdatad/xcschemes/xcschememanagement.plist ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>SchemeUserState</key>
6
+ <dict>
7
+ <key>PersonalGPT.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
PersonalGPT/Assets.xcassets/AccentColor.colorset/Contents.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "colors" : [
3
+ {
4
+ "idiom" : "universal"
5
+ }
6
+ ],
7
+ "info" : {
8
+ "author" : "xcode",
9
+ "version" : 1
10
+ }
11
+ }
PersonalGPT/Assets.xcassets/AppIcon.appiconset/Contents.json ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "mac",
5
+ "scale" : "1x",
6
+ "size" : "16x16"
7
+ },
8
+ {
9
+ "idiom" : "mac",
10
+ "scale" : "2x",
11
+ "size" : "16x16"
12
+ },
13
+ {
14
+ "idiom" : "mac",
15
+ "scale" : "1x",
16
+ "size" : "32x32"
17
+ },
18
+ {
19
+ "idiom" : "mac",
20
+ "scale" : "2x",
21
+ "size" : "32x32"
22
+ },
23
+ {
24
+ "idiom" : "mac",
25
+ "scale" : "1x",
26
+ "size" : "128x128"
27
+ },
28
+ {
29
+ "idiom" : "mac",
30
+ "scale" : "2x",
31
+ "size" : "128x128"
32
+ },
33
+ {
34
+ "idiom" : "mac",
35
+ "scale" : "1x",
36
+ "size" : "256x256"
37
+ },
38
+ {
39
+ "idiom" : "mac",
40
+ "scale" : "2x",
41
+ "size" : "256x256"
42
+ },
43
+ {
44
+ "idiom" : "mac",
45
+ "scale" : "1x",
46
+ "size" : "512x512"
47
+ },
48
+ {
49
+ "idiom" : "mac",
50
+ "scale" : "2x",
51
+ "size" : "512x512"
52
+ }
53
+ ],
54
+ "info" : {
55
+ "author" : "xcode",
56
+ "version" : 1
57
+ }
58
+ }
PersonalGPT/Assets.xcassets/Contents.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "info" : {
3
+ "author" : "xcode",
4
+ "version" : 1
5
+ }
6
+ }
PersonalGPT/ContentView.swift ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ // ContentView.swift
3
+ // PersonalGPT
4
+ //
5
+ // Created by Jeethu Rao on 17/04/2023.
6
+ //
7
+
8
+ import SwiftUI
9
+
10
+ struct ContentView: View {
11
+ var body: some View {
12
+ VStack {
13
+ Image(systemName: "globe")
14
+ .imageScale(.large)
15
+ .foregroundColor(.accentColor)
16
+ Text("Hello, world!")
17
+ }
18
+ .padding()
19
+ }
20
+ }
21
+
22
+ struct ContentView_Previews: PreviewProvider {
23
+ static var previews: some View {
24
+ ContentView()
25
+ }
26
+ }
PersonalGPT/PersonalGPT.entitlements ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
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>com.apple.security.app-sandbox</key>
6
+ <true/>
7
+ <key>com.apple.security.files.user-selected.read-only</key>
8
+ <true/>
9
+ </dict>
10
+ </plist>
PersonalGPT/PersonalGPTApp.swift ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ // PersonalGPTApp.swift
3
+ // PersonalGPT
4
+ //
5
+ // Created by Jeethu Rao on 17/04/2023.
6
+ //
7
+
8
+ import SwiftUI
9
+
10
+ @main
11
+ struct PersonalGPTApp: App {
12
+ var body: some Scene {
13
+ WindowGroup {
14
+ ContentView()
15
+ }
16
+ }
17
+ }
PersonalGPT/Preview Content/Preview Assets.xcassets/Contents.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "info" : {
3
+ "author" : "xcode",
4
+ "version" : 1
5
+ }
6
+ }
PersonalGPTTests/PersonalGPTTests.swift ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ // PersonalGPTTests.swift
3
+ // PersonalGPTTests
4
+ //
5
+ // Created by Jeethu Rao on 17/04/2023.
6
+ //
7
+
8
+ import XCTest
9
+ @testable import PersonalGPT
10
+
11
+ final class PersonalGPTTests: XCTestCase {
12
+
13
+ override func setUpWithError() throws {
14
+ // Put setup code here. This method is called before the invocation of each test method in the class.
15
+ }
16
+
17
+ override func tearDownWithError() throws {
18
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
19
+ }
20
+
21
+ func testExample() throws {
22
+ // This is an example of a functional test case.
23
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
24
+ // Any test you write for XCTest can be annotated as throws and async.
25
+ // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
26
+ // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
27
+ }
28
+
29
+ func testPerformanceExample() throws {
30
+ // This is an example of a performance test case.
31
+ self.measure {
32
+ // Put the code you want to measure the time of here.
33
+ }
34
+ }
35
+
36
+ }
PersonalGPTUITests/PersonalGPTUITests.swift ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ // PersonalGPTUITests.swift
3
+ // PersonalGPTUITests
4
+ //
5
+ // Created by Jeethu Rao on 17/04/2023.
6
+ //
7
+
8
+ import XCTest
9
+
10
+ final class PersonalGPTUITests: XCTestCase {
11
+
12
+ override func setUpWithError() throws {
13
+ // Put setup code here. This method is called before the invocation of each test method in the class.
14
+
15
+ // In UI tests it is usually best to stop immediately when a failure occurs.
16
+ continueAfterFailure = false
17
+
18
+ // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
19
+ }
20
+
21
+ override func tearDownWithError() throws {
22
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
23
+ }
24
+
25
+ func testExample() throws {
26
+ // UI tests must launch the application that they test.
27
+ let app = XCUIApplication()
28
+ app.launch()
29
+
30
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
31
+ }
32
+
33
+ func testLaunchPerformance() throws {
34
+ if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
35
+ // This measures how long it takes to launch your application.
36
+ measure(metrics: [XCTApplicationLaunchMetric()]) {
37
+ XCUIApplication().launch()
38
+ }
39
+ }
40
+ }
41
+ }
PersonalGPTUITests/PersonalGPTUITestsLaunchTests.swift ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ // PersonalGPTUITestsLaunchTests.swift
3
+ // PersonalGPTUITests
4
+ //
5
+ // Created by Jeethu Rao on 17/04/2023.
6
+ //
7
+
8
+ import XCTest
9
+
10
+ final class PersonalGPTUITestsLaunchTests: XCTestCase {
11
+
12
+ override class var runsForEachTargetApplicationUIConfiguration: Bool {
13
+ true
14
+ }
15
+
16
+ override func setUpWithError() throws {
17
+ continueAfterFailure = false
18
+ }
19
+
20
+ func testLaunch() throws {
21
+ let app = XCUIApplication()
22
+ app.launch()
23
+
24
+ // Insert steps here to perform after app launch but before taking a screenshot,
25
+ // such as logging into a test account or navigating somewhere in the app
26
+
27
+ let attachment = XCTAttachment(screenshot: app.screenshot())
28
+ attachment.name = "Launch Screen"
29
+ attachment.lifetime = .keepAlways
30
+ add(attachment)
31
+ }
32
+ }