diff options
| author | Abdellah El Morabit <nsrddyn@gmail.com> | 2024-11-09 21:57:50 +0100 |
|---|---|---|
| committer | Abdellah El Morabit <nsrddyn@gmail.com> | 2024-11-09 21:57:50 +0100 |
| commit | bd4adb5206b2ebedea97cd527f98db14ccabd1a4 (patch) | |
| tree | be12837c7aee6d878c4f878c1436e52d733c6d7a | |
| parent | bb0d4477026df2c4a76e63819dfdf0448ef633ba (diff) | |
uplaoding the ios version
| -rw-r--r-- | I2C/I2C.xcodeproj/project.pbxproj | 557 | ||||
| -rw-r--r-- | I2C/I2C.xcodeproj/project.xcworkspace/contents.xcworkspacedata | 7 | ||||
| -rw-r--r-- | I2C/I2C.xcodeproj/project.xcworkspace/xcuserdata/nsrddyn.xcuserdatad/UserInterfaceState.xcuserstate | bin | 0 -> 5353 bytes | |||
| -rw-r--r-- | I2C/I2C.xcodeproj/xcuserdata/nsrddyn.xcuserdatad/xcschemes/xcschememanagement.plist | 14 | ||||
| -rw-r--r-- | I2C/I2C/Assets.xcassets/AccentColor.colorset/Contents.json | 11 | ||||
| -rw-r--r-- | I2C/I2C/Assets.xcassets/AppIcon.appiconset/Contents.json | 35 | ||||
| -rw-r--r-- | I2C/I2C/Assets.xcassets/Contents.json | 6 | ||||
| -rw-r--r-- | I2C/I2C/ContentView.swift | 24 | ||||
| -rw-r--r-- | I2C/I2C/I2CApp.swift | 17 | ||||
| -rw-r--r-- | I2C/I2C/Preview Content/Preview Assets.xcassets/Contents.json | 6 | ||||
| -rw-r--r-- | I2C/I2CTests/I2CTests.swift | 17 | ||||
| -rw-r--r-- | I2C/I2CUITests/I2CUITests.swift | 43 | ||||
| -rw-r--r-- | I2C/I2CUITests/I2CUITestsLaunchTests.swift | 33 |
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 | |||
| 8 | import SwiftUI | ||
| 9 | |||
| 10 | struct 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 | |||
| 8 | import SwiftUI | ||
| 9 | |||
| 10 | @main | ||
| 11 | struct 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 | |||
| 8 | import Testing | ||
| 9 | @testable import I2C | ||
| 10 | |||
| 11 | struct 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 | |||
| 8 | import XCTest | ||
| 9 | |||
| 10 | final 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 | |||
| 8 | import XCTest | ||
| 9 | |||
| 10 | final 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 | } | ||
