├── ReflectiveUI ├── Assets │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── ReflectiveUIApp.swift ├── Info.plist ├── Views │ ├── NewsView.swift │ └── NewsRowView.swift └── Screen │ └── ContentView.swift ├── ReflectiveUI.xcodeproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved ├── xcuserdata │ └── suzanamassy.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── project.pbxproj └── README.md /ReflectiveUI/Assets/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ReflectiveUI/Assets/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ReflectiveUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SwiftUI ReflectiveUI 2 | 3 | Design inspiration : [jordan singer](https://twitter.com/i/status/1632405969190748166) 4 | 5 | 6 | https://user-images.githubusercontent.com/38488553/224662537-8c2388d2-ea48-4280-bea9-2c1395fecd44.mp4 7 | 8 | -------------------------------------------------------------------------------- /ReflectiveUI/Assets/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ReflectiveUI/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ReflectiveUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ReflectiveUI/ReflectiveUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ReflectiveUIApp.swift 3 | // ReflectiveUI 4 | // 5 | // Created by Suzan Amassy on 11/03/2023. 6 | // 7 | 8 | import SwiftUI 9 | import SwiftUICam 10 | 11 | 12 | @main 13 | struct ReflectiveUIApp: App { 14 | var body: some Scene { 15 | WindowGroup { 16 | ContentView() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ReflectiveUI/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UIApplicationSceneManifest 6 | 7 | UIApplicationSupportsMultipleScenes 8 | 9 | UISceneConfigurations 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ReflectiveUI.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "pins" : [ 3 | { 4 | "identity" : "swiftuicam", 5 | "kind" : "remoteSourceControl", 6 | "location" : "https://github.com/pierreveron/SwiftUICam", 7 | "state" : { 8 | "branch" : "master", 9 | "revision" : "6e85adae49b26d734bf3810b6d237d2688cc976a" 10 | } 11 | } 12 | ], 13 | "version" : 2 14 | } 15 | -------------------------------------------------------------------------------- /ReflectiveUI.xcodeproj/xcuserdata/suzanamassy.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ReflectiveUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | ReflectiveUI6.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 0 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ReflectiveUI/Views/NewsView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NewsView.swift 3 | // ReflectiveUI 4 | // 5 | // Created by Suzan Amassy on 11/03/2023. 6 | // 7 | 8 | import SwiftUI 9 | 10 | 11 | struct NewsView: View { 12 | var body: some View { 13 | VStack(alignment: .leading, spacing: 20) { 14 | Text("News") 15 | .font(.largeTitle) 16 | .fontWeight(.black) 17 | .multilineTextAlignment(.leading) 18 | 19 | 20 | ForEach(0..<8) { index in 21 | NewsRowView() 22 | } 23 | 24 | } 25 | .padding(.horizontal, 30) 26 | } 27 | } 28 | 29 | 30 | struct NewsView_Previews: PreviewProvider { 31 | static var previews: some View { 32 | NewsView() 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ReflectiveUI/Views/NewsRowView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NewsRowView.swift 3 | // ReflectiveUI6 4 | // 5 | // Created by Suzan Amassy on 11/03/2023. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct NewsRowView: View { 11 | var body: some View { 12 | HStack(spacing: 20) { 13 | RoundedRectangle(cornerRadius: 10) 14 | .foregroundColor(.gray) 15 | .frame(width: 60, height: 60) 16 | 17 | 18 | VStack(alignment: .leading, spacing: 8) { 19 | ForEach(0..<3) { index in 20 | Rectangle() 21 | .foregroundColor(.gray) 22 | .frame(maxWidth: (index == 0 || index == 1) ? .infinity : UIScreen.main.bounds.width*0.3 ) 23 | .frame(height: 12) 24 | .cornerRadius(4) 25 | } 26 | } 27 | } 28 | } 29 | } 30 | 31 | 32 | struct NewsRowView_Previews: PreviewProvider { 33 | static var previews: some View { 34 | NewsRowView() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ReflectiveUI/Screen/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // ReflectiveUI6 4 | // 5 | // Created by Suzan Amassy on 11/03/2023. 6 | // 7 | 8 | import SwiftUI 9 | import SwiftUICam 10 | 11 | 12 | struct ContentView: View { 13 | var body: some View { 14 | ZStack { 15 | CameraView(events: UserEvents(), 16 | applicationName: "ReflectiveUI", 17 | tapToFocus: false, 18 | doubleTapCameraSwitch: false ) 19 | .disabled(true) 20 | .blur(radius: 50) 21 | .frame(width: UIScreen.main.bounds.width) 22 | .frame(height: UIScreen.main.bounds.height) 23 | .mask { 24 | NewsView() 25 | } 26 | } 27 | } 28 | } 29 | 30 | 31 | 32 | 33 | 34 | struct ContentView_Previews: PreviewProvider { 35 | static var previews: some View { 36 | ContentView() 37 | } 38 | } 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /ReflectiveUI.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 56; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 17DA2E0F29BC579D009173B6 /* ReflectiveUIApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DA2E0E29BC579D009173B6 /* ReflectiveUIApp.swift */; }; 11 | 17DA2E1129BC579D009173B6 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DA2E1029BC579D009173B6 /* ContentView.swift */; }; 12 | 17DA2E1329BC579E009173B6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 17DA2E1229BC579E009173B6 /* Assets.xcassets */; }; 13 | 17DA2E1629BC579E009173B6 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 17DA2E1529BC579E009173B6 /* Preview Assets.xcassets */; }; 14 | 17DA2E2129BC5F5A009173B6 /* SwiftUICam in Frameworks */ = {isa = PBXBuildFile; productRef = 17DA2E2029BC5F5A009173B6 /* SwiftUICam */; }; 15 | 17DA2E2829BC6BCC009173B6 /* NewsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DA2E2729BC6BCC009173B6 /* NewsView.swift */; }; 16 | 17DA2E2A29BC6BDF009173B6 /* NewsRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DA2E2929BC6BDF009173B6 /* NewsRowView.swift */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXFileReference section */ 20 | 17DA2E0B29BC579D009173B6 /* ReflectiveUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReflectiveUI.app; sourceTree = BUILT_PRODUCTS_DIR; }; 21 | 17DA2E0E29BC579D009173B6 /* ReflectiveUIApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReflectiveUIApp.swift; sourceTree = ""; }; 22 | 17DA2E1029BC579D009173B6 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 23 | 17DA2E1229BC579E009173B6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 24 | 17DA2E1529BC579E009173B6 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 25 | 17DA2E2229BC608E009173B6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 26 | 17DA2E2729BC6BCC009173B6 /* NewsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsView.swift; sourceTree = ""; }; 27 | 17DA2E2929BC6BDF009173B6 /* NewsRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsRowView.swift; sourceTree = ""; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | 17DA2E0829BC579D009173B6 /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | 17DA2E2129BC5F5A009173B6 /* SwiftUICam in Frameworks */, 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | 17DA2E0229BC579D009173B6 = { 43 | isa = PBXGroup; 44 | children = ( 45 | 17DA2E0D29BC579D009173B6 /* ReflectiveUI */, 46 | 17DA2E0C29BC579D009173B6 /* Products */, 47 | ); 48 | sourceTree = ""; 49 | }; 50 | 17DA2E0C29BC579D009173B6 /* Products */ = { 51 | isa = PBXGroup; 52 | children = ( 53 | 17DA2E0B29BC579D009173B6 /* ReflectiveUI.app */, 54 | ); 55 | name = Products; 56 | sourceTree = ""; 57 | }; 58 | 17DA2E0D29BC579D009173B6 /* ReflectiveUI */ = { 59 | isa = PBXGroup; 60 | children = ( 61 | 17DA2E2229BC608E009173B6 /* Info.plist */, 62 | 17DA2E0E29BC579D009173B6 /* ReflectiveUIApp.swift */, 63 | 17DA2E2C29BC6BFB009173B6 /* Screen */, 64 | 17DA2E2B29BC6BF4009173B6 /* Views */, 65 | 17DA2E2D29BC6C0A009173B6 /* Assets */, 66 | ); 67 | path = ReflectiveUI; 68 | sourceTree = ""; 69 | }; 70 | 17DA2E1429BC579E009173B6 /* Preview Content */ = { 71 | isa = PBXGroup; 72 | children = ( 73 | 17DA2E1529BC579E009173B6 /* Preview Assets.xcassets */, 74 | ); 75 | path = "Preview Content"; 76 | sourceTree = ""; 77 | }; 78 | 17DA2E2B29BC6BF4009173B6 /* Views */ = { 79 | isa = PBXGroup; 80 | children = ( 81 | 17DA2E2729BC6BCC009173B6 /* NewsView.swift */, 82 | 17DA2E2929BC6BDF009173B6 /* NewsRowView.swift */, 83 | ); 84 | path = Views; 85 | sourceTree = ""; 86 | }; 87 | 17DA2E2C29BC6BFB009173B6 /* Screen */ = { 88 | isa = PBXGroup; 89 | children = ( 90 | 17DA2E1029BC579D009173B6 /* ContentView.swift */, 91 | ); 92 | path = Screen; 93 | sourceTree = ""; 94 | }; 95 | 17DA2E2D29BC6C0A009173B6 /* Assets */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | 17DA2E1229BC579E009173B6 /* Assets.xcassets */, 99 | 17DA2E1429BC579E009173B6 /* Preview Content */, 100 | ); 101 | path = Assets; 102 | sourceTree = ""; 103 | }; 104 | /* End PBXGroup section */ 105 | 106 | /* Begin PBXNativeTarget section */ 107 | 17DA2E0A29BC579D009173B6 /* ReflectiveUI */ = { 108 | isa = PBXNativeTarget; 109 | buildConfigurationList = 17DA2E1929BC579E009173B6 /* Build configuration list for PBXNativeTarget "ReflectiveUI" */; 110 | buildPhases = ( 111 | 17DA2E0729BC579D009173B6 /* Sources */, 112 | 17DA2E0829BC579D009173B6 /* Frameworks */, 113 | 17DA2E0929BC579D009173B6 /* Resources */, 114 | ); 115 | buildRules = ( 116 | ); 117 | dependencies = ( 118 | ); 119 | name = ReflectiveUI; 120 | packageProductDependencies = ( 121 | 17DA2E2029BC5F5A009173B6 /* SwiftUICam */, 122 | ); 123 | productName = ReflectiveUI6; 124 | productReference = 17DA2E0B29BC579D009173B6 /* ReflectiveUI.app */; 125 | productType = "com.apple.product-type.application"; 126 | }; 127 | /* End PBXNativeTarget section */ 128 | 129 | /* Begin PBXProject section */ 130 | 17DA2E0329BC579D009173B6 /* Project object */ = { 131 | isa = PBXProject; 132 | attributes = { 133 | BuildIndependentTargetsInParallel = 1; 134 | LastSwiftUpdateCheck = 1420; 135 | LastUpgradeCheck = 1420; 136 | TargetAttributes = { 137 | 17DA2E0A29BC579D009173B6 = { 138 | CreatedOnToolsVersion = 14.2; 139 | }; 140 | }; 141 | }; 142 | buildConfigurationList = 17DA2E0629BC579D009173B6 /* Build configuration list for PBXProject "ReflectiveUI" */; 143 | compatibilityVersion = "Xcode 14.0"; 144 | developmentRegion = en; 145 | hasScannedForEncodings = 0; 146 | knownRegions = ( 147 | en, 148 | Base, 149 | ); 150 | mainGroup = 17DA2E0229BC579D009173B6; 151 | packageReferences = ( 152 | 17DA2E1F29BC5F5A009173B6 /* XCRemoteSwiftPackageReference "SwiftUICam" */, 153 | ); 154 | productRefGroup = 17DA2E0C29BC579D009173B6 /* Products */; 155 | projectDirPath = ""; 156 | projectRoot = ""; 157 | targets = ( 158 | 17DA2E0A29BC579D009173B6 /* ReflectiveUI */, 159 | ); 160 | }; 161 | /* End PBXProject section */ 162 | 163 | /* Begin PBXResourcesBuildPhase section */ 164 | 17DA2E0929BC579D009173B6 /* Resources */ = { 165 | isa = PBXResourcesBuildPhase; 166 | buildActionMask = 2147483647; 167 | files = ( 168 | 17DA2E1629BC579E009173B6 /* Preview Assets.xcassets in Resources */, 169 | 17DA2E1329BC579E009173B6 /* Assets.xcassets in Resources */, 170 | ); 171 | runOnlyForDeploymentPostprocessing = 0; 172 | }; 173 | /* End PBXResourcesBuildPhase section */ 174 | 175 | /* Begin PBXSourcesBuildPhase section */ 176 | 17DA2E0729BC579D009173B6 /* Sources */ = { 177 | isa = PBXSourcesBuildPhase; 178 | buildActionMask = 2147483647; 179 | files = ( 180 | 17DA2E2A29BC6BDF009173B6 /* NewsRowView.swift in Sources */, 181 | 17DA2E2829BC6BCC009173B6 /* NewsView.swift in Sources */, 182 | 17DA2E1129BC579D009173B6 /* ContentView.swift in Sources */, 183 | 17DA2E0F29BC579D009173B6 /* ReflectiveUIApp.swift in Sources */, 184 | ); 185 | runOnlyForDeploymentPostprocessing = 0; 186 | }; 187 | /* End PBXSourcesBuildPhase section */ 188 | 189 | /* Begin XCBuildConfiguration section */ 190 | 17DA2E1729BC579E009173B6 /* Debug */ = { 191 | isa = XCBuildConfiguration; 192 | buildSettings = { 193 | ALWAYS_SEARCH_USER_PATHS = NO; 194 | CLANG_ANALYZER_NONNULL = YES; 195 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 196 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 197 | CLANG_ENABLE_MODULES = YES; 198 | CLANG_ENABLE_OBJC_ARC = YES; 199 | CLANG_ENABLE_OBJC_WEAK = YES; 200 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 201 | CLANG_WARN_BOOL_CONVERSION = YES; 202 | CLANG_WARN_COMMA = YES; 203 | CLANG_WARN_CONSTANT_CONVERSION = YES; 204 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 205 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 206 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 207 | CLANG_WARN_EMPTY_BODY = YES; 208 | CLANG_WARN_ENUM_CONVERSION = YES; 209 | CLANG_WARN_INFINITE_RECURSION = YES; 210 | CLANG_WARN_INT_CONVERSION = YES; 211 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 212 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 213 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 214 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 215 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 216 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 217 | CLANG_WARN_STRICT_PROTOTYPES = YES; 218 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 219 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 220 | CLANG_WARN_UNREACHABLE_CODE = YES; 221 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 222 | COPY_PHASE_STRIP = NO; 223 | DEBUG_INFORMATION_FORMAT = dwarf; 224 | ENABLE_STRICT_OBJC_MSGSEND = YES; 225 | ENABLE_TESTABILITY = YES; 226 | GCC_C_LANGUAGE_STANDARD = gnu11; 227 | GCC_DYNAMIC_NO_PIC = NO; 228 | GCC_NO_COMMON_BLOCKS = YES; 229 | GCC_OPTIMIZATION_LEVEL = 0; 230 | GCC_PREPROCESSOR_DEFINITIONS = ( 231 | "DEBUG=1", 232 | "$(inherited)", 233 | ); 234 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 235 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 236 | GCC_WARN_UNDECLARED_SELECTOR = YES; 237 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 238 | GCC_WARN_UNUSED_FUNCTION = YES; 239 | GCC_WARN_UNUSED_VARIABLE = YES; 240 | IPHONEOS_DEPLOYMENT_TARGET = 16.2; 241 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 242 | MTL_FAST_MATH = YES; 243 | ONLY_ACTIVE_ARCH = YES; 244 | SDKROOT = iphoneos; 245 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 246 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 247 | }; 248 | name = Debug; 249 | }; 250 | 17DA2E1829BC579E009173B6 /* Release */ = { 251 | isa = XCBuildConfiguration; 252 | buildSettings = { 253 | ALWAYS_SEARCH_USER_PATHS = NO; 254 | CLANG_ANALYZER_NONNULL = YES; 255 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 256 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 257 | CLANG_ENABLE_MODULES = YES; 258 | CLANG_ENABLE_OBJC_ARC = YES; 259 | CLANG_ENABLE_OBJC_WEAK = YES; 260 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_COMMA = YES; 263 | CLANG_WARN_CONSTANT_CONVERSION = YES; 264 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 265 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 266 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 267 | CLANG_WARN_EMPTY_BODY = YES; 268 | CLANG_WARN_ENUM_CONVERSION = YES; 269 | CLANG_WARN_INFINITE_RECURSION = YES; 270 | CLANG_WARN_INT_CONVERSION = YES; 271 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 272 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 273 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 274 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 275 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 276 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 277 | CLANG_WARN_STRICT_PROTOTYPES = YES; 278 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 279 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 280 | CLANG_WARN_UNREACHABLE_CODE = YES; 281 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 282 | COPY_PHASE_STRIP = NO; 283 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 284 | ENABLE_NS_ASSERTIONS = NO; 285 | ENABLE_STRICT_OBJC_MSGSEND = YES; 286 | GCC_C_LANGUAGE_STANDARD = gnu11; 287 | GCC_NO_COMMON_BLOCKS = YES; 288 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 289 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 290 | GCC_WARN_UNDECLARED_SELECTOR = YES; 291 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 292 | GCC_WARN_UNUSED_FUNCTION = YES; 293 | GCC_WARN_UNUSED_VARIABLE = YES; 294 | IPHONEOS_DEPLOYMENT_TARGET = 16.2; 295 | MTL_ENABLE_DEBUG_INFO = NO; 296 | MTL_FAST_MATH = YES; 297 | SDKROOT = iphoneos; 298 | SWIFT_COMPILATION_MODE = wholemodule; 299 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 300 | VALIDATE_PRODUCT = YES; 301 | }; 302 | name = Release; 303 | }; 304 | 17DA2E1A29BC579E009173B6 /* Debug */ = { 305 | isa = XCBuildConfiguration; 306 | buildSettings = { 307 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 308 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 309 | CODE_SIGN_STYLE = Automatic; 310 | CURRENT_PROJECT_VERSION = 1; 311 | DEVELOPMENT_ASSET_PATHS = "\"ReflectiveUI/Assets/Preview Content\""; 312 | DEVELOPMENT_TEAM = 79P2QHXFF7; 313 | ENABLE_PREVIEWS = YES; 314 | GENERATE_INFOPLIST_FILE = YES; 315 | INFOPLIST_FILE = ReflectiveUI/Info.plist; 316 | INFOPLIST_KEY_NSCameraUsageDescription = "This app needs access to the camera to capture images for reflective text color."; 317 | INFOPLIST_KEY_NSMicrophoneUsageDescription = "This app needs access to the camera to capture images for reflective text color."; 318 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 319 | INFOPLIST_KEY_UILaunchScreen_Generation = YES; 320 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 321 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 322 | LD_RUNPATH_SEARCH_PATHS = ( 323 | "$(inherited)", 324 | "@executable_path/Frameworks", 325 | ); 326 | MARKETING_VERSION = 1.0; 327 | PRODUCT_BUNDLE_IDENTIFIER = dev.suzanalamassi.ReflectiveUI; 328 | PRODUCT_NAME = "$(TARGET_NAME)"; 329 | SWIFT_EMIT_LOC_STRINGS = YES; 330 | SWIFT_VERSION = 5.0; 331 | TARGETED_DEVICE_FAMILY = "1,2"; 332 | }; 333 | name = Debug; 334 | }; 335 | 17DA2E1B29BC579E009173B6 /* Release */ = { 336 | isa = XCBuildConfiguration; 337 | buildSettings = { 338 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 339 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 340 | CODE_SIGN_STYLE = Automatic; 341 | CURRENT_PROJECT_VERSION = 1; 342 | DEVELOPMENT_ASSET_PATHS = "\"ReflectiveUI/Assets/Preview Content\""; 343 | DEVELOPMENT_TEAM = 79P2QHXFF7; 344 | ENABLE_PREVIEWS = YES; 345 | GENERATE_INFOPLIST_FILE = YES; 346 | INFOPLIST_FILE = ReflectiveUI/Info.plist; 347 | INFOPLIST_KEY_NSCameraUsageDescription = "This app needs access to the camera to capture images for reflective text color."; 348 | INFOPLIST_KEY_NSMicrophoneUsageDescription = "This app needs access to the camera to capture images for reflective text color."; 349 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 350 | INFOPLIST_KEY_UILaunchScreen_Generation = YES; 351 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 352 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 353 | LD_RUNPATH_SEARCH_PATHS = ( 354 | "$(inherited)", 355 | "@executable_path/Frameworks", 356 | ); 357 | MARKETING_VERSION = 1.0; 358 | PRODUCT_BUNDLE_IDENTIFIER = dev.suzanalamassi.ReflectiveUI; 359 | PRODUCT_NAME = "$(TARGET_NAME)"; 360 | SWIFT_EMIT_LOC_STRINGS = YES; 361 | SWIFT_VERSION = 5.0; 362 | TARGETED_DEVICE_FAMILY = "1,2"; 363 | }; 364 | name = Release; 365 | }; 366 | /* End XCBuildConfiguration section */ 367 | 368 | /* Begin XCConfigurationList section */ 369 | 17DA2E0629BC579D009173B6 /* Build configuration list for PBXProject "ReflectiveUI" */ = { 370 | isa = XCConfigurationList; 371 | buildConfigurations = ( 372 | 17DA2E1729BC579E009173B6 /* Debug */, 373 | 17DA2E1829BC579E009173B6 /* Release */, 374 | ); 375 | defaultConfigurationIsVisible = 0; 376 | defaultConfigurationName = Release; 377 | }; 378 | 17DA2E1929BC579E009173B6 /* Build configuration list for PBXNativeTarget "ReflectiveUI" */ = { 379 | isa = XCConfigurationList; 380 | buildConfigurations = ( 381 | 17DA2E1A29BC579E009173B6 /* Debug */, 382 | 17DA2E1B29BC579E009173B6 /* Release */, 383 | ); 384 | defaultConfigurationIsVisible = 0; 385 | defaultConfigurationName = Release; 386 | }; 387 | /* End XCConfigurationList section */ 388 | 389 | /* Begin XCRemoteSwiftPackageReference section */ 390 | 17DA2E1F29BC5F5A009173B6 /* XCRemoteSwiftPackageReference "SwiftUICam" */ = { 391 | isa = XCRemoteSwiftPackageReference; 392 | repositoryURL = "https://github.com/pierreveron/SwiftUICam"; 393 | requirement = { 394 | branch = master; 395 | kind = branch; 396 | }; 397 | }; 398 | /* End XCRemoteSwiftPackageReference section */ 399 | 400 | /* Begin XCSwiftPackageProductDependency section */ 401 | 17DA2E2029BC5F5A009173B6 /* SwiftUICam */ = { 402 | isa = XCSwiftPackageProductDependency; 403 | package = 17DA2E1F29BC5F5A009173B6 /* XCRemoteSwiftPackageReference "SwiftUICam" */; 404 | productName = SwiftUICam; 405 | }; 406 | /* End XCSwiftPackageProductDependency section */ 407 | }; 408 | rootObject = 17DA2E0329BC579D009173B6 /* Project object */; 409 | } 410 | --------------------------------------------------------------------------------