summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdellah El Morabit <nsrddyn@gmail.com>2024-11-09 21:57:50 +0100
committerAbdellah El Morabit <nsrddyn@gmail.com>2024-11-09 21:57:50 +0100
commitbd4adb5206b2ebedea97cd527f98db14ccabd1a4 (patch)
treebe12837c7aee6d878c4f878c1436e52d733c6d7a
parentbb0d4477026df2c4a76e63819dfdf0448ef633ba (diff)
uplaoding the ios version
-rw-r--r--I2C/I2C.xcodeproj/project.pbxproj557
-rw-r--r--I2C/I2C.xcodeproj/project.xcworkspace/contents.xcworkspacedata7
-rw-r--r--I2C/I2C.xcodeproj/project.xcworkspace/xcuserdata/nsrddyn.xcuserdatad/UserInterfaceState.xcuserstatebin0 -> 5353 bytes
-rw-r--r--I2C/I2C.xcodeproj/xcuserdata/nsrddyn.xcuserdatad/xcschemes/xcschememanagement.plist14
-rw-r--r--I2C/I2C/Assets.xcassets/AccentColor.colorset/Contents.json11
-rw-r--r--I2C/I2C/Assets.xcassets/AppIcon.appiconset/Contents.json35
-rw-r--r--I2C/I2C/Assets.xcassets/Contents.json6
-rw-r--r--I2C/I2C/ContentView.swift24
-rw-r--r--I2C/I2C/I2CApp.swift17
-rw-r--r--I2C/I2C/Preview Content/Preview Assets.xcassets/Contents.json6
-rw-r--r--I2C/I2CTests/I2CTests.swift17
-rw-r--r--I2C/I2CUITests/I2CUITests.swift43
-rw-r--r--I2C/I2CUITests/I2CUITestsLaunchTests.swift33
13 files changed, 770 insertions, 0 deletions
diff --git a/I2C/I2C.xcodeproj/project.pbxproj b/I2C/I2C.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..4271c40
--- /dev/null
+++ b/I2C/I2C.xcodeproj/project.pbxproj
@@ -0,0 +1,557 @@
1// !$*UTF8*$!
2{
3 archiveVersion = 1;
4 classes = {
5 };
6 objectVersion = 77;
7 objects = {
8
9/* Begin PBXContainerItemProxy section */
10 C9D669792CDF68E50085062E /* PBXContainerItemProxy */ = {
11 isa = PBXContainerItemProxy;
12 containerPortal = C9D669602CDF68E30085062E /* Project object */;
13 proxyType = 1;
14 remoteGlobalIDString = C9D669672CDF68E30085062E;
15 remoteInfo = I2C;
16 };
17 C9D669832CDF68E50085062E /* PBXContainerItemProxy */ = {
18 isa = PBXContainerItemProxy;
19 containerPortal = C9D669602CDF68E30085062E /* Project object */;
20 proxyType = 1;
21 remoteGlobalIDString = C9D669672CDF68E30085062E;
22 remoteInfo = I2C;
23 };
24/* End PBXContainerItemProxy section */
25
26/* Begin PBXFileReference section */
27 C9D669682CDF68E30085062E /* I2C.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = I2C.app; sourceTree = BUILT_PRODUCTS_DIR; };
28 C9D669782CDF68E50085062E /* I2CTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = I2CTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
29 C9D669822CDF68E50085062E /* I2CUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = I2CUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
30/* End PBXFileReference section */
31
32/* Begin PBXFileSystemSynchronizedRootGroup section */
33 C9D6696A2CDF68E30085062E /* I2C */ = {
34 isa = PBXFileSystemSynchronizedRootGroup;
35 path = I2C;
36 sourceTree = "<group>";
37 };
38 C9D6697B2CDF68E50085062E /* I2CTests */ = {
39 isa = PBXFileSystemSynchronizedRootGroup;
40 path = I2CTests;
41 sourceTree = "<group>";
42 };
43 C9D669852CDF68E50085062E /* I2CUITests */ = {
44 isa = PBXFileSystemSynchronizedRootGroup;
45 path = I2CUITests;
46 sourceTree = "<group>";
47 };
48/* End PBXFileSystemSynchronizedRootGroup section */
49
50/* Begin PBXFrameworksBuildPhase section */
51 C9D669652CDF68E30085062E /* Frameworks */ = {
52 isa = PBXFrameworksBuildPhase;
53 buildActionMask = 2147483647;
54 files = (
55 );
56 runOnlyForDeploymentPostprocessing = 0;
57 };
58 C9D669752CDF68E50085062E /* Frameworks */ = {
59 isa = PBXFrameworksBuildPhase;
60 buildActionMask = 2147483647;
61 files = (
62 );
63 runOnlyForDeploymentPostprocessing = 0;
64 };
65 C9D6697F2CDF68E50085062E /* Frameworks */ = {
66 isa = PBXFrameworksBuildPhase;
67 buildActionMask = 2147483647;
68 files = (
69 );
70 runOnlyForDeploymentPostprocessing = 0;
71 };
72/* End PBXFrameworksBuildPhase section */
73
74/* Begin PBXGroup section */
75 C9D6695F2CDF68E30085062E = {
76 isa = PBXGroup;
77 children = (
78 C9D6696A2CDF68E30085062E /* I2C */,
79 C9D6697B2CDF68E50085062E /* I2CTests */,
80 C9D669852CDF68E50085062E /* I2CUITests */,
81 C9D669692CDF68E30085062E /* Products */,
82 );
83 sourceTree = "<group>";
84 };
85 C9D669692CDF68E30085062E /* Products */ = {
86 isa = PBXGroup;
87 children = (
88 C9D669682CDF68E30085062E /* I2C.app */,
89 C9D669782CDF68E50085062E /* I2CTests.xctest */,
90 C9D669822CDF68E50085062E /* I2CUITests.xctest */,
91 );
92 name = Products;
93 sourceTree = "<group>";
94 };
95/* End PBXGroup section */
96
97/* Begin PBXNativeTarget section */
98 C9D669672CDF68E30085062E /* I2C */ = {
99 isa = PBXNativeTarget;
100 buildConfigurationList = C9D6698C2CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2C" */;
101 buildPhases = (
102 C9D669642CDF68E30085062E /* Sources */,
103 C9D669652CDF68E30085062E /* Frameworks */,
104 C9D669662CDF68E30085062E /* Resources */,
105 );
106 buildRules = (
107 );
108 dependencies = (
109 );
110 fileSystemSynchronizedGroups = (
111 C9D6696A2CDF68E30085062E /* I2C */,
112 );
113 name = I2C;
114 packageProductDependencies = (
115 );
116 productName = I2C;
117 productReference = C9D669682CDF68E30085062E /* I2C.app */;
118 productType = "com.apple.product-type.application";
119 };
120 C9D669772CDF68E50085062E /* I2CTests */ = {
121 isa = PBXNativeTarget;
122 buildConfigurationList = C9D6698F2CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2CTests" */;
123 buildPhases = (
124 C9D669742CDF68E50085062E /* Sources */,
125 C9D669752CDF68E50085062E /* Frameworks */,
126 C9D669762CDF68E50085062E /* Resources */,
127 );
128 buildRules = (
129 );
130 dependencies = (
131 C9D6697A2CDF68E50085062E /* PBXTargetDependency */,
132 );
133 fileSystemSynchronizedGroups = (
134 C9D6697B2CDF68E50085062E /* I2CTests */,
135 );
136 name = I2CTests;
137 packageProductDependencies = (
138 );
139 productName = I2CTests;
140 productReference = C9D669782CDF68E50085062E /* I2CTests.xctest */;
141 productType = "com.apple.product-type.bundle.unit-test";
142 };
143 C9D669812CDF68E50085062E /* I2CUITests */ = {
144 isa = PBXNativeTarget;
145 buildConfigurationList = C9D669922CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2CUITests" */;
146 buildPhases = (
147 C9D6697E2CDF68E50085062E /* Sources */,
148 C9D6697F2CDF68E50085062E /* Frameworks */,
149 C9D669802CDF68E50085062E /* Resources */,
150 );
151 buildRules = (
152 );
153 dependencies = (
154 C9D669842CDF68E50085062E /* PBXTargetDependency */,
155 );
156 fileSystemSynchronizedGroups = (
157 C9D669852CDF68E50085062E /* I2CUITests */,
158 );
159 name = I2CUITests;
160 packageProductDependencies = (
161 );
162 productName = I2CUITests;
163 productReference = C9D669822CDF68E50085062E /* I2CUITests.xctest */;
164 productType = "com.apple.product-type.bundle.ui-testing";
165 };
166/* End PBXNativeTarget section */
167
168/* Begin PBXProject section */
169 C9D669602CDF68E30085062E /* Project object */ = {
170 isa = PBXProject;
171 attributes = {
172 BuildIndependentTargetsInParallel = 1;
173 LastSwiftUpdateCheck = 1610;
174 LastUpgradeCheck = 1610;
175 TargetAttributes = {
176 C9D669672CDF68E30085062E = {
177 CreatedOnToolsVersion = 16.1;
178 };
179 C9D669772CDF68E50085062E = {
180 CreatedOnToolsVersion = 16.1;
181 TestTargetID = C9D669672CDF68E30085062E;
182 };
183 C9D669812CDF68E50085062E = {
184 CreatedOnToolsVersion = 16.1;
185 TestTargetID = C9D669672CDF68E30085062E;
186 };
187 };
188 };
189 buildConfigurationList = C9D669632CDF68E30085062E /* Build configuration list for PBXProject "I2C" */;
190 developmentRegion = en;
191 hasScannedForEncodings = 0;
192 knownRegions = (
193 en,
194 Base,
195 );
196 mainGroup = C9D6695F2CDF68E30085062E;
197 minimizedProjectReferenceProxies = 1;
198 preferredProjectObjectVersion = 77;
199 productRefGroup = C9D669692CDF68E30085062E /* Products */;
200 projectDirPath = "";
201 projectRoot = "";
202 targets = (
203 C9D669672CDF68E30085062E /* I2C */,
204 C9D669772CDF68E50085062E /* I2CTests */,
205 C9D669812CDF68E50085062E /* I2CUITests */,
206 );
207 };
208/* End PBXProject section */
209
210/* Begin PBXResourcesBuildPhase section */
211 C9D669662CDF68E30085062E /* Resources */ = {
212 isa = PBXResourcesBuildPhase;
213 buildActionMask = 2147483647;
214 files = (
215 );
216 runOnlyForDeploymentPostprocessing = 0;
217 };
218 C9D669762CDF68E50085062E /* Resources */ = {
219 isa = PBXResourcesBuildPhase;
220 buildActionMask = 2147483647;
221 files = (
222 );
223 runOnlyForDeploymentPostprocessing = 0;
224 };
225 C9D669802CDF68E50085062E /* Resources */ = {
226 isa = PBXResourcesBuildPhase;
227 buildActionMask = 2147483647;
228 files = (
229 );
230 runOnlyForDeploymentPostprocessing = 0;
231 };
232/* End PBXResourcesBuildPhase section */
233
234/* Begin PBXSourcesBuildPhase section */
235 C9D669642CDF68E30085062E /* Sources */ = {
236 isa = PBXSourcesBuildPhase;
237 buildActionMask = 2147483647;
238 files = (
239 );
240 runOnlyForDeploymentPostprocessing = 0;
241 };
242 C9D669742CDF68E50085062E /* Sources */ = {
243 isa = PBXSourcesBuildPhase;
244 buildActionMask = 2147483647;
245 files = (
246 );
247 runOnlyForDeploymentPostprocessing = 0;
248 };
249 C9D6697E2CDF68E50085062E /* Sources */ = {
250 isa = PBXSourcesBuildPhase;
251 buildActionMask = 2147483647;
252 files = (
253 );
254 runOnlyForDeploymentPostprocessing = 0;
255 };
256/* End PBXSourcesBuildPhase section */
257
258/* Begin PBXTargetDependency section */
259 C9D6697A2CDF68E50085062E /* PBXTargetDependency */ = {
260 isa = PBXTargetDependency;
261 target = C9D669672CDF68E30085062E /* I2C */;
262 targetProxy = C9D669792CDF68E50085062E /* PBXContainerItemProxy */;
263 };
264 C9D669842CDF68E50085062E /* PBXTargetDependency */ = {
265 isa = PBXTargetDependency;
266 target = C9D669672CDF68E30085062E /* I2C */;
267 targetProxy = C9D669832CDF68E50085062E /* PBXContainerItemProxy */;
268 };
269/* End PBXTargetDependency section */
270
271/* Begin XCBuildConfiguration section */
272 C9D6698A2CDF68E50085062E /* Debug */ = {
273 isa = XCBuildConfiguration;
274 buildSettings = {
275 ALWAYS_SEARCH_USER_PATHS = NO;
276 ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
277 CLANG_ANALYZER_NONNULL = YES;
278 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
279 CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
280 CLANG_ENABLE_MODULES = YES;
281 CLANG_ENABLE_OBJC_ARC = YES;
282 CLANG_ENABLE_OBJC_WEAK = YES;
283 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
284 CLANG_WARN_BOOL_CONVERSION = YES;
285 CLANG_WARN_COMMA = YES;
286 CLANG_WARN_CONSTANT_CONVERSION = YES;
287 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
288 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
289 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
290 CLANG_WARN_EMPTY_BODY = YES;
291 CLANG_WARN_ENUM_CONVERSION = YES;
292 CLANG_WARN_INFINITE_RECURSION = YES;
293 CLANG_WARN_INT_CONVERSION = YES;
294 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
295 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
296 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
297 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
298 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
299 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
300 CLANG_WARN_STRICT_PROTOTYPES = YES;
301 CLANG_WARN_SUSPICIOUS_MOVE = YES;
302 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
303 CLANG_WARN_UNREACHABLE_CODE = YES;
304 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
305 COPY_PHASE_STRIP = NO;
306 DEBUG_INFORMATION_FORMAT = dwarf;
307 ENABLE_STRICT_OBJC_MSGSEND = YES;
308 ENABLE_TESTABILITY = YES;
309 ENABLE_USER_SCRIPT_SANDBOXING = YES;
310 GCC_C_LANGUAGE_STANDARD = gnu17;
311 GCC_DYNAMIC_NO_PIC = NO;
312 GCC_NO_COMMON_BLOCKS = YES;
313 GCC_OPTIMIZATION_LEVEL = 0;
314 GCC_PREPROCESSOR_DEFINITIONS = (
315 "DEBUG=1",
316 "$(inherited)",
317 );
318 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
319 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
320 GCC_WARN_UNDECLARED_SELECTOR = YES;
321 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
322 GCC_WARN_UNUSED_FUNCTION = YES;
323 GCC_WARN_UNUSED_VARIABLE = YES;
324 IPHONEOS_DEPLOYMENT_TARGET = 18.1;
325 LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
326 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
327 MTL_FAST_MATH = YES;
328 ONLY_ACTIVE_ARCH = YES;
329 SDKROOT = iphoneos;
330 SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
331 SWIFT_OPTIMIZATION_LEVEL = "-Onone";
332 };
333 name = Debug;
334 };
335 C9D6698B2CDF68E50085062E /* Release */ = {
336 isa = XCBuildConfiguration;
337 buildSettings = {
338 ALWAYS_SEARCH_USER_PATHS = NO;
339 ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
340 CLANG_ANALYZER_NONNULL = YES;
341 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
342 CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
343 CLANG_ENABLE_MODULES = YES;
344 CLANG_ENABLE_OBJC_ARC = YES;
345 CLANG_ENABLE_OBJC_WEAK = YES;
346 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
347 CLANG_WARN_BOOL_CONVERSION = YES;
348 CLANG_WARN_COMMA = YES;
349 CLANG_WARN_CONSTANT_CONVERSION = YES;
350 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
351 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
352 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
353 CLANG_WARN_EMPTY_BODY = YES;
354 CLANG_WARN_ENUM_CONVERSION = YES;
355 CLANG_WARN_INFINITE_RECURSION = YES;
356 CLANG_WARN_INT_CONVERSION = YES;
357 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
358 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
359 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
360 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
361 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
362 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
363 CLANG_WARN_STRICT_PROTOTYPES = YES;
364 CLANG_WARN_SUSPICIOUS_MOVE = YES;
365 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
366 CLANG_WARN_UNREACHABLE_CODE = YES;
367 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
368 COPY_PHASE_STRIP = NO;
369 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
370 ENABLE_NS_ASSERTIONS = NO;
371 ENABLE_STRICT_OBJC_MSGSEND = YES;
372 ENABLE_USER_SCRIPT_SANDBOXING = YES;
373 GCC_C_LANGUAGE_STANDARD = gnu17;
374 GCC_NO_COMMON_BLOCKS = YES;
375 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
376 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
377 GCC_WARN_UNDECLARED_SELECTOR = YES;
378 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
379 GCC_WARN_UNUSED_FUNCTION = YES;
380 GCC_WARN_UNUSED_VARIABLE = YES;
381 IPHONEOS_DEPLOYMENT_TARGET = 18.1;
382 LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
383 MTL_ENABLE_DEBUG_INFO = NO;
384 MTL_FAST_MATH = YES;
385 SDKROOT = iphoneos;
386 SWIFT_COMPILATION_MODE = wholemodule;
387 VALIDATE_PRODUCT = YES;
388 };
389 name = Release;
390 };
391 C9D6698D2CDF68E50085062E /* Debug */ = {
392 isa = XCBuildConfiguration;
393 buildSettings = {
394 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
395 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
396 CODE_SIGN_STYLE = Automatic;
397 CURRENT_PROJECT_VERSION = 1;
398 DEVELOPMENT_ASSET_PATHS = "\"I2C/Preview Content\"";
399 ENABLE_PREVIEWS = YES;
400 GENERATE_INFOPLIST_FILE = YES;
401 INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
402 INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
403 INFOPLIST_KEY_UILaunchScreen_Generation = YES;
404 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
405 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
406 LD_RUNPATH_SEARCH_PATHS = (
407 "$(inherited)",
408 "@executable_path/Frameworks",
409 );
410 MARKETING_VERSION = 1.0;
411 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2C;
412 PRODUCT_NAME = "$(TARGET_NAME)";
413 SWIFT_EMIT_LOC_STRINGS = YES;
414 SWIFT_VERSION = 5.0;
415 TARGETED_DEVICE_FAMILY = "1,2";
416 };
417 name = Debug;
418 };
419 C9D6698E2CDF68E50085062E /* Release */ = {
420 isa = XCBuildConfiguration;
421 buildSettings = {
422 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
423 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
424 CODE_SIGN_STYLE = Automatic;
425 CURRENT_PROJECT_VERSION = 1;
426 DEVELOPMENT_ASSET_PATHS = "\"I2C/Preview Content\"";
427 ENABLE_PREVIEWS = YES;
428 GENERATE_INFOPLIST_FILE = YES;
429 INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
430 INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
431 INFOPLIST_KEY_UILaunchScreen_Generation = YES;
432 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
433 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
434 LD_RUNPATH_SEARCH_PATHS = (
435 "$(inherited)",
436 "@executable_path/Frameworks",
437 );
438 MARKETING_VERSION = 1.0;
439 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2C;
440 PRODUCT_NAME = "$(TARGET_NAME)";
441 SWIFT_EMIT_LOC_STRINGS = YES;
442 SWIFT_VERSION = 5.0;
443 TARGETED_DEVICE_FAMILY = "1,2";
444 };
445 name = Release;
446 };
447 C9D669902CDF68E50085062E /* Debug */ = {
448 isa = XCBuildConfiguration;
449 buildSettings = {
450 BUNDLE_LOADER = "$(TEST_HOST)";
451 CODE_SIGN_STYLE = Automatic;
452 CURRENT_PROJECT_VERSION = 1;
453 GENERATE_INFOPLIST_FILE = YES;
454 IPHONEOS_DEPLOYMENT_TARGET = 18.1;
455 MARKETING_VERSION = 1.0;
456 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2CTests;
457 PRODUCT_NAME = "$(TARGET_NAME)";
458 SWIFT_EMIT_LOC_STRINGS = NO;
459 SWIFT_VERSION = 5.0;
460 TARGETED_DEVICE_FAMILY = "1,2";
461 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/I2C.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/I2C";
462 };
463 name = Debug;
464 };
465 C9D669912CDF68E50085062E /* Release */ = {
466 isa = XCBuildConfiguration;
467 buildSettings = {
468 BUNDLE_LOADER = "$(TEST_HOST)";
469 CODE_SIGN_STYLE = Automatic;
470 CURRENT_PROJECT_VERSION = 1;
471 GENERATE_INFOPLIST_FILE = YES;
472 IPHONEOS_DEPLOYMENT_TARGET = 18.1;
473 MARKETING_VERSION = 1.0;
474 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2CTests;
475 PRODUCT_NAME = "$(TARGET_NAME)";
476 SWIFT_EMIT_LOC_STRINGS = NO;
477 SWIFT_VERSION = 5.0;
478 TARGETED_DEVICE_FAMILY = "1,2";
479 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/I2C.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/I2C";
480 };
481 name = Release;
482 };
483 C9D669932CDF68E50085062E /* Debug */ = {
484 isa = XCBuildConfiguration;
485 buildSettings = {
486 CODE_SIGN_STYLE = Automatic;
487 CURRENT_PROJECT_VERSION = 1;
488 GENERATE_INFOPLIST_FILE = YES;
489 MARKETING_VERSION = 1.0;
490 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2CUITests;
491 PRODUCT_NAME = "$(TARGET_NAME)";
492 SWIFT_EMIT_LOC_STRINGS = NO;
493 SWIFT_VERSION = 5.0;
494 TARGETED_DEVICE_FAMILY = "1,2";
495 TEST_TARGET_NAME = I2C;
496 };
497 name = Debug;
498 };
499 C9D669942CDF68E50085062E /* Release */ = {
500 isa = XCBuildConfiguration;
501 buildSettings = {
502 CODE_SIGN_STYLE = Automatic;
503 CURRENT_PROJECT_VERSION = 1;
504 GENERATE_INFOPLIST_FILE = YES;
505 MARKETING_VERSION = 1.0;
506 PRODUCT_BUNDLE_IDENTIFIER = nsrddyn.I2CUITests;
507 PRODUCT_NAME = "$(TARGET_NAME)";
508 SWIFT_EMIT_LOC_STRINGS = NO;
509 SWIFT_VERSION = 5.0;
510 TARGETED_DEVICE_FAMILY = "1,2";
511 TEST_TARGET_NAME = I2C;
512 };
513 name = Release;
514 };
515/* End XCBuildConfiguration section */
516
517/* Begin XCConfigurationList section */
518 C9D669632CDF68E30085062E /* Build configuration list for PBXProject "I2C" */ = {
519 isa = XCConfigurationList;
520 buildConfigurations = (
521 C9D6698A2CDF68E50085062E /* Debug */,
522 C9D6698B2CDF68E50085062E /* Release */,
523 );
524 defaultConfigurationIsVisible = 0;
525 defaultConfigurationName = Release;
526 };
527 C9D6698C2CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2C" */ = {
528 isa = XCConfigurationList;
529 buildConfigurations = (
530 C9D6698D2CDF68E50085062E /* Debug */,
531 C9D6698E2CDF68E50085062E /* Release */,
532 );
533 defaultConfigurationIsVisible = 0;
534 defaultConfigurationName = Release;
535 };
536 C9D6698F2CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2CTests" */ = {
537 isa = XCConfigurationList;
538 buildConfigurations = (
539 C9D669902CDF68E50085062E /* Debug */,
540 C9D669912CDF68E50085062E /* Release */,
541 );
542 defaultConfigurationIsVisible = 0;
543 defaultConfigurationName = Release;
544 };
545 C9D669922CDF68E50085062E /* Build configuration list for PBXNativeTarget "I2CUITests" */ = {
546 isa = XCConfigurationList;
547 buildConfigurations = (
548 C9D669932CDF68E50085062E /* Debug */,
549 C9D669942CDF68E50085062E /* Release */,
550 );
551 defaultConfigurationIsVisible = 0;
552 defaultConfigurationName = Release;
553 };
554/* End XCConfigurationList section */
555 };
556 rootObject = C9D669602CDF68E30085062E /* Project object */;
557}
diff --git a/I2C/I2C.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/I2C/I2C.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/I2C/I2C.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -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>
diff --git a/I2C/I2C.xcodeproj/project.xcworkspace/xcuserdata/nsrddyn.xcuserdatad/UserInterfaceState.xcuserstate b/I2C/I2C.xcodeproj/project.xcworkspace/xcuserdata/nsrddyn.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..86f23b4
--- /dev/null
+++ b/I2C/I2C.xcodeproj/project.xcworkspace/xcuserdata/nsrddyn.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
diff --git a/I2C/I2C.xcodeproj/xcuserdata/nsrddyn.xcuserdatad/xcschemes/xcschememanagement.plist b/I2C/I2C.xcodeproj/xcuserdata/nsrddyn.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..c90753b
--- /dev/null
+++ b/I2C/I2C.xcodeproj/xcuserdata/nsrddyn.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -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>I2C.xcscheme_^#shared#^_</key>
8 <dict>
9 <key>orderHint</key>
10 <integer>0</integer>
11 </dict>
12 </dict>
13</dict>
14</plist>
diff --git a/I2C/I2C/Assets.xcassets/AccentColor.colorset/Contents.json b/I2C/I2C/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 0000000..eb87897
--- /dev/null
+++ b/I2C/I2C/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
1{
2 "colors" : [
3 {
4 "idiom" : "universal"
5 }
6 ],
7 "info" : {
8 "author" : "xcode",
9 "version" : 1
10 }
11}
diff --git a/I2C/I2C/Assets.xcassets/AppIcon.appiconset/Contents.json b/I2C/I2C/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..2305880
--- /dev/null
+++ b/I2C/I2C/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,35 @@
1{
2 "images" : [
3 {
4 "idiom" : "universal",
5 "platform" : "ios",
6 "size" : "1024x1024"
7 },
8 {
9 "appearances" : [
10 {
11 "appearance" : "luminosity",
12 "value" : "dark"
13 }
14 ],
15 "idiom" : "universal",
16 "platform" : "ios",
17 "size" : "1024x1024"
18 },
19 {
20 "appearances" : [
21 {
22 "appearance" : "luminosity",
23 "value" : "tinted"
24 }
25 ],
26 "idiom" : "universal",
27 "platform" : "ios",
28 "size" : "1024x1024"
29 }
30 ],
31 "info" : {
32 "author" : "xcode",
33 "version" : 1
34 }
35}
diff --git a/I2C/I2C/Assets.xcassets/Contents.json b/I2C/I2C/Assets.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/I2C/I2C/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
1{
2 "info" : {
3 "author" : "xcode",
4 "version" : 1
5 }
6}
diff --git a/I2C/I2C/ContentView.swift b/I2C/I2C/ContentView.swift
new file mode 100644
index 0000000..729d80b
--- /dev/null
+++ b/I2C/I2C/ContentView.swift
@@ -0,0 +1,24 @@
1//
2// ContentView.swift
3// I2C
4//
5// Created by nsrddyn on 09/11/2024.
6//
7
8import SwiftUI
9
10struct ContentView: View {
11 var body: some View {
12 VStack {
13 Image(systemName: "globe")
14 .imageScale(.large)
15 .foregroundStyle(.tint)
16 Text("Hello, world!")
17 }
18 .padding()
19 }
20}
21
22#Preview {
23 ContentView()
24}
diff --git a/I2C/I2C/I2CApp.swift b/I2C/I2C/I2CApp.swift
new file mode 100644
index 0000000..f8f6220
--- /dev/null
+++ b/I2C/I2C/I2CApp.swift
@@ -0,0 +1,17 @@
1//
2// I2CApp.swift
3// I2C
4//
5// Created by nsrddyn on 09/11/2024.
6//
7
8import SwiftUI
9
10@main
11struct I2CApp: App {
12 var body: some Scene {
13 WindowGroup {
14 ContentView()
15 }
16 }
17}
diff --git a/I2C/I2C/Preview Content/Preview Assets.xcassets/Contents.json b/I2C/I2C/Preview Content/Preview Assets.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/I2C/I2C/Preview Content/Preview Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
1{
2 "info" : {
3 "author" : "xcode",
4 "version" : 1
5 }
6}
diff --git a/I2C/I2CTests/I2CTests.swift b/I2C/I2CTests/I2CTests.swift
new file mode 100644
index 0000000..24b0e07
--- /dev/null
+++ b/I2C/I2CTests/I2CTests.swift
@@ -0,0 +1,17 @@
1//
2// I2CTests.swift
3// I2CTests
4//
5// Created by nsrddyn on 09/11/2024.
6//
7
8import Testing
9@testable import I2C
10
11struct I2CTests {
12
13 @Test func example() async throws {
14 // Write your test here and use APIs like `#expect(...)` to check expected conditions.
15 }
16
17}
diff --git a/I2C/I2CUITests/I2CUITests.swift b/I2C/I2CUITests/I2CUITests.swift
new file mode 100644
index 0000000..c225d79
--- /dev/null
+++ b/I2C/I2CUITests/I2CUITests.swift
@@ -0,0 +1,43 @@
1//
2// I2CUITests.swift
3// I2CUITests
4//
5// Created by nsrddyn on 09/11/2024.
6//
7
8import XCTest
9
10final class I2CUITests: 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 @MainActor
26 func testExample() throws {
27 // UI tests must launch the application that they test.
28 let app = XCUIApplication()
29 app.launch()
30
31 // Use XCTAssert and related functions to verify your tests produce the correct results.
32 }
33
34 @MainActor
35 func testLaunchPerformance() throws {
36 if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
37 // This measures how long it takes to launch your application.
38 measure(metrics: [XCTApplicationLaunchMetric()]) {
39 XCUIApplication().launch()
40 }
41 }
42 }
43}
diff --git a/I2C/I2CUITests/I2CUITestsLaunchTests.swift b/I2C/I2CUITests/I2CUITestsLaunchTests.swift
new file mode 100644
index 0000000..71a0020
--- /dev/null
+++ b/I2C/I2CUITests/I2CUITestsLaunchTests.swift
@@ -0,0 +1,33 @@
1//
2// I2CUITestsLaunchTests.swift
3// I2CUITests
4//
5// Created by nsrddyn on 09/11/2024.
6//
7
8import XCTest
9
10final class I2CUITestsLaunchTests: XCTestCase {
11
12 override class var runsForEachTargetApplicationUIConfiguration: Bool {
13 true
14 }
15
16 override func setUpWithError() throws {
17 continueAfterFailure = false
18 }
19
20 @MainActor
21 func testLaunch() throws {
22 let app = XCUIApplication()
23 app.launch()
24
25 // Insert steps here to perform after app launch but before taking a screenshot,
26 // such as logging into a test account or navigating somewhere in the app
27
28 let attachment = XCTAttachment(screenshot: app.screenshot())
29 attachment.name = "Launch Screen"
30 attachment.lifetime = .keepAlways
31 add(attachment)
32 }
33}