├── .gitignore ├── .swiftpm └── xcode │ └── package.xcworkspace │ └── contents.xcworkspacedata ├── Example ├── LazyViewSwiftUI_Example.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── LazyViewSwiftUI_Example.xcscheme ├── LazyViewSwiftUI_Example.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── LazyViewSwiftUI_Example │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ ├── ContentView.swift │ ├── Info.plist │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── SceneDelegate.swift ├── Podfile ├── Podfile.lock └── Pods │ ├── Local Podspecs │ └── LazyViewSwiftUI.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ └── project.pbxproj │ └── Target Support Files │ ├── LazyViewSwiftUI │ ├── Info.plist │ ├── LazyViewSwiftUI-dummy.m │ ├── LazyViewSwiftUI-prefix.pch │ ├── LazyViewSwiftUI-umbrella.h │ ├── LazyViewSwiftUI.modulemap │ └── LazyViewSwiftUI.xcconfig │ └── Pods-LazyViewSwiftUI_Example │ ├── Info.plist │ ├── Pods-LazyViewSwiftUI_Example-acknowledgements.markdown │ ├── Pods-LazyViewSwiftUI_Example-acknowledgements.plist │ ├── Pods-LazyViewSwiftUI_Example-dummy.m │ ├── Pods-LazyViewSwiftUI_Example-frameworks.sh │ ├── Pods-LazyViewSwiftUI_Example-resources.sh │ ├── Pods-LazyViewSwiftUI_Example-umbrella.h │ ├── Pods-LazyViewSwiftUI_Example.debug.xcconfig │ ├── Pods-LazyViewSwiftUI_Example.modulemap │ └── Pods-LazyViewSwiftUI_Example.release.xcconfig ├── LICENSE ├── LazyViewSwiftUI.podspec ├── Package.swift ├── README.md └── Source └── LazyView.swift /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | xcuserdata/ 6 | -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 9F361E1523C40CF600A17646 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F361E1423C40CF600A17646 /* AppDelegate.swift */; }; 11 | 9F361E1723C40CF600A17646 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F361E1623C40CF600A17646 /* SceneDelegate.swift */; }; 12 | 9F361E1923C40CF600A17646 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F361E1823C40CF600A17646 /* ContentView.swift */; }; 13 | 9F361E1B23C40CF700A17646 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F361E1A23C40CF700A17646 /* Assets.xcassets */; }; 14 | 9F361E1E23C40CF700A17646 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F361E1D23C40CF700A17646 /* Preview Assets.xcassets */; }; 15 | 9F361E2123C40CF700A17646 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9F361E1F23C40CF700A17646 /* LaunchScreen.storyboard */; }; 16 | B42DEAD20F3B1688CE2CE1DA /* Pods_LazyViewSwiftUI_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9522455FAEA968B626C786AC /* Pods_LazyViewSwiftUI_Example.framework */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXFileReference section */ 20 | 1DFA6E01FBE81246A2BE46AB /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LazyViewSwiftUI_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.debug.xcconfig"; sourceTree = ""; }; 21 | 22D5BED8682BA3DC814BFED7 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LazyViewSwiftUI_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.release.xcconfig"; sourceTree = ""; }; 22 | 9522455FAEA968B626C786AC /* Pods_LazyViewSwiftUI_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LazyViewSwiftUI_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 23 | 9F361E1123C40CF600A17646 /* LazyViewSwiftUI_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LazyViewSwiftUI_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 24 | 9F361E1423C40CF600A17646 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 25 | 9F361E1623C40CF600A17646 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 26 | 9F361E1823C40CF600A17646 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 27 | 9F361E1A23C40CF700A17646 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 28 | 9F361E1D23C40CF700A17646 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 29 | 9F361E2023C40CF700A17646 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 30 | 9F361E2223C40CF700A17646 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 31 | /* End PBXFileReference section */ 32 | 33 | /* Begin PBXFrameworksBuildPhase section */ 34 | 9F361E0E23C40CF600A17646 /* Frameworks */ = { 35 | isa = PBXFrameworksBuildPhase; 36 | buildActionMask = 2147483647; 37 | files = ( 38 | B42DEAD20F3B1688CE2CE1DA /* Pods_LazyViewSwiftUI_Example.framework in Frameworks */, 39 | ); 40 | runOnlyForDeploymentPostprocessing = 0; 41 | }; 42 | /* End PBXFrameworksBuildPhase section */ 43 | 44 | /* Begin PBXGroup section */ 45 | 4B371EB742C51F0C45C44D77 /* Pods */ = { 46 | isa = PBXGroup; 47 | children = ( 48 | 1DFA6E01FBE81246A2BE46AB /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */, 49 | 22D5BED8682BA3DC814BFED7 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */, 50 | ); 51 | name = Pods; 52 | sourceTree = ""; 53 | }; 54 | 4EFEE03A31C4A34272F5C59F /* Frameworks */ = { 55 | isa = PBXGroup; 56 | children = ( 57 | 9522455FAEA968B626C786AC /* Pods_LazyViewSwiftUI_Example.framework */, 58 | ); 59 | name = Frameworks; 60 | sourceTree = ""; 61 | }; 62 | 9F361E0823C40CF600A17646 = { 63 | isa = PBXGroup; 64 | children = ( 65 | 9F361E1323C40CF600A17646 /* LazyViewSwiftUI_Example */, 66 | 9F361E1223C40CF600A17646 /* Products */, 67 | 4B371EB742C51F0C45C44D77 /* Pods */, 68 | 4EFEE03A31C4A34272F5C59F /* Frameworks */, 69 | ); 70 | sourceTree = ""; 71 | }; 72 | 9F361E1223C40CF600A17646 /* Products */ = { 73 | isa = PBXGroup; 74 | children = ( 75 | 9F361E1123C40CF600A17646 /* LazyViewSwiftUI_Example.app */, 76 | ); 77 | name = Products; 78 | sourceTree = ""; 79 | }; 80 | 9F361E1323C40CF600A17646 /* LazyViewSwiftUI_Example */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | 9F361E1423C40CF600A17646 /* AppDelegate.swift */, 84 | 9F361E1623C40CF600A17646 /* SceneDelegate.swift */, 85 | 9F361E1823C40CF600A17646 /* ContentView.swift */, 86 | 9F361E1A23C40CF700A17646 /* Assets.xcassets */, 87 | 9F361E1F23C40CF700A17646 /* LaunchScreen.storyboard */, 88 | 9F361E2223C40CF700A17646 /* Info.plist */, 89 | 9F361E1C23C40CF700A17646 /* Preview Content */, 90 | ); 91 | path = LazyViewSwiftUI_Example; 92 | sourceTree = ""; 93 | }; 94 | 9F361E1C23C40CF700A17646 /* Preview Content */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | 9F361E1D23C40CF700A17646 /* Preview Assets.xcassets */, 98 | ); 99 | path = "Preview Content"; 100 | sourceTree = ""; 101 | }; 102 | /* End PBXGroup section */ 103 | 104 | /* Begin PBXNativeTarget section */ 105 | 9F361E1023C40CF600A17646 /* LazyViewSwiftUI_Example */ = { 106 | isa = PBXNativeTarget; 107 | buildConfigurationList = 9F361E2523C40CF700A17646 /* Build configuration list for PBXNativeTarget "LazyViewSwiftUI_Example" */; 108 | buildPhases = ( 109 | DA2963131D24A1AE000BEE40 /* [CP] Check Pods Manifest.lock */, 110 | 9F361E0D23C40CF600A17646 /* Sources */, 111 | 9F361E0E23C40CF600A17646 /* Frameworks */, 112 | 9F361E0F23C40CF600A17646 /* Resources */, 113 | 5BAACEC81C5FA5FF34E30A33 /* [CP] Embed Pods Frameworks */, 114 | ); 115 | buildRules = ( 116 | ); 117 | dependencies = ( 118 | ); 119 | name = LazyViewSwiftUI_Example; 120 | productName = Example; 121 | productReference = 9F361E1123C40CF600A17646 /* LazyViewSwiftUI_Example.app */; 122 | productType = "com.apple.product-type.application"; 123 | }; 124 | /* End PBXNativeTarget section */ 125 | 126 | /* Begin PBXProject section */ 127 | 9F361E0923C40CF600A17646 /* Project object */ = { 128 | isa = PBXProject; 129 | attributes = { 130 | LastSwiftUpdateCheck = 1120; 131 | LastUpgradeCheck = 1120; 132 | ORGANIZATIONNAME = "Joseph Hinkle"; 133 | TargetAttributes = { 134 | 9F361E1023C40CF600A17646 = { 135 | CreatedOnToolsVersion = 11.2.1; 136 | }; 137 | }; 138 | }; 139 | buildConfigurationList = 9F361E0C23C40CF600A17646 /* Build configuration list for PBXProject "LazyViewSwiftUI_Example" */; 140 | compatibilityVersion = "Xcode 9.3"; 141 | developmentRegion = en; 142 | hasScannedForEncodings = 0; 143 | knownRegions = ( 144 | en, 145 | Base, 146 | ); 147 | mainGroup = 9F361E0823C40CF600A17646; 148 | productRefGroup = 9F361E1223C40CF600A17646 /* Products */; 149 | projectDirPath = ""; 150 | projectRoot = ""; 151 | targets = ( 152 | 9F361E1023C40CF600A17646 /* LazyViewSwiftUI_Example */, 153 | ); 154 | }; 155 | /* End PBXProject section */ 156 | 157 | /* Begin PBXResourcesBuildPhase section */ 158 | 9F361E0F23C40CF600A17646 /* Resources */ = { 159 | isa = PBXResourcesBuildPhase; 160 | buildActionMask = 2147483647; 161 | files = ( 162 | 9F361E2123C40CF700A17646 /* LaunchScreen.storyboard in Resources */, 163 | 9F361E1E23C40CF700A17646 /* Preview Assets.xcassets in Resources */, 164 | 9F361E1B23C40CF700A17646 /* Assets.xcassets in Resources */, 165 | ); 166 | runOnlyForDeploymentPostprocessing = 0; 167 | }; 168 | /* End PBXResourcesBuildPhase section */ 169 | 170 | /* Begin PBXShellScriptBuildPhase section */ 171 | 5BAACEC81C5FA5FF34E30A33 /* [CP] Embed Pods Frameworks */ = { 172 | isa = PBXShellScriptBuildPhase; 173 | buildActionMask = 2147483647; 174 | files = ( 175 | ); 176 | inputFileListPaths = ( 177 | ); 178 | inputPaths = ( 179 | "${SRCROOT}/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-frameworks.sh", 180 | "${BUILT_PRODUCTS_DIR}/LazyViewSwiftUI/LazyViewSwiftUI.framework", 181 | ); 182 | name = "[CP] Embed Pods Frameworks"; 183 | outputFileListPaths = ( 184 | ); 185 | outputPaths = ( 186 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LazyViewSwiftUI.framework", 187 | ); 188 | runOnlyForDeploymentPostprocessing = 0; 189 | shellPath = /bin/sh; 190 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-frameworks.sh\"\n"; 191 | showEnvVarsInLog = 0; 192 | }; 193 | DA2963131D24A1AE000BEE40 /* [CP] Check Pods Manifest.lock */ = { 194 | isa = PBXShellScriptBuildPhase; 195 | buildActionMask = 2147483647; 196 | files = ( 197 | ); 198 | inputFileListPaths = ( 199 | ); 200 | inputPaths = ( 201 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 202 | "${PODS_ROOT}/Manifest.lock", 203 | ); 204 | name = "[CP] Check Pods Manifest.lock"; 205 | outputFileListPaths = ( 206 | ); 207 | outputPaths = ( 208 | "$(DERIVED_FILE_DIR)/Pods-LazyViewSwiftUI_Example-checkManifestLockResult.txt", 209 | ); 210 | runOnlyForDeploymentPostprocessing = 0; 211 | shellPath = /bin/sh; 212 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 213 | showEnvVarsInLog = 0; 214 | }; 215 | /* End PBXShellScriptBuildPhase section */ 216 | 217 | /* Begin PBXSourcesBuildPhase section */ 218 | 9F361E0D23C40CF600A17646 /* Sources */ = { 219 | isa = PBXSourcesBuildPhase; 220 | buildActionMask = 2147483647; 221 | files = ( 222 | 9F361E1523C40CF600A17646 /* AppDelegate.swift in Sources */, 223 | 9F361E1723C40CF600A17646 /* SceneDelegate.swift in Sources */, 224 | 9F361E1923C40CF600A17646 /* ContentView.swift in Sources */, 225 | ); 226 | runOnlyForDeploymentPostprocessing = 0; 227 | }; 228 | /* End PBXSourcesBuildPhase section */ 229 | 230 | /* Begin PBXVariantGroup section */ 231 | 9F361E1F23C40CF700A17646 /* LaunchScreen.storyboard */ = { 232 | isa = PBXVariantGroup; 233 | children = ( 234 | 9F361E2023C40CF700A17646 /* Base */, 235 | ); 236 | name = LaunchScreen.storyboard; 237 | sourceTree = ""; 238 | }; 239 | /* End PBXVariantGroup section */ 240 | 241 | /* Begin XCBuildConfiguration section */ 242 | 9F361E2323C40CF700A17646 /* Debug */ = { 243 | isa = XCBuildConfiguration; 244 | buildSettings = { 245 | ALWAYS_SEARCH_USER_PATHS = NO; 246 | CLANG_ANALYZER_NONNULL = YES; 247 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 248 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 249 | CLANG_CXX_LIBRARY = "libc++"; 250 | CLANG_ENABLE_MODULES = YES; 251 | CLANG_ENABLE_OBJC_ARC = YES; 252 | CLANG_ENABLE_OBJC_WEAK = YES; 253 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 254 | CLANG_WARN_BOOL_CONVERSION = YES; 255 | CLANG_WARN_COMMA = YES; 256 | CLANG_WARN_CONSTANT_CONVERSION = YES; 257 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 258 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 259 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 260 | CLANG_WARN_EMPTY_BODY = YES; 261 | CLANG_WARN_ENUM_CONVERSION = YES; 262 | CLANG_WARN_INFINITE_RECURSION = YES; 263 | CLANG_WARN_INT_CONVERSION = YES; 264 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 265 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 266 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 267 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 268 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 269 | CLANG_WARN_STRICT_PROTOTYPES = YES; 270 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 271 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 272 | CLANG_WARN_UNREACHABLE_CODE = YES; 273 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 274 | COPY_PHASE_STRIP = NO; 275 | DEBUG_INFORMATION_FORMAT = dwarf; 276 | ENABLE_STRICT_OBJC_MSGSEND = YES; 277 | ENABLE_TESTABILITY = YES; 278 | GCC_C_LANGUAGE_STANDARD = gnu11; 279 | GCC_DYNAMIC_NO_PIC = NO; 280 | GCC_NO_COMMON_BLOCKS = YES; 281 | GCC_OPTIMIZATION_LEVEL = 0; 282 | GCC_PREPROCESSOR_DEFINITIONS = ( 283 | "DEBUG=1", 284 | "$(inherited)", 285 | ); 286 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 287 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 288 | GCC_WARN_UNDECLARED_SELECTOR = YES; 289 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 290 | GCC_WARN_UNUSED_FUNCTION = YES; 291 | GCC_WARN_UNUSED_VARIABLE = YES; 292 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 293 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 294 | MTL_FAST_MATH = YES; 295 | ONLY_ACTIVE_ARCH = YES; 296 | SDKROOT = iphoneos; 297 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 298 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 299 | }; 300 | name = Debug; 301 | }; 302 | 9F361E2423C40CF700A17646 /* Release */ = { 303 | isa = XCBuildConfiguration; 304 | buildSettings = { 305 | ALWAYS_SEARCH_USER_PATHS = NO; 306 | CLANG_ANALYZER_NONNULL = YES; 307 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 308 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 309 | CLANG_CXX_LIBRARY = "libc++"; 310 | CLANG_ENABLE_MODULES = YES; 311 | CLANG_ENABLE_OBJC_ARC = YES; 312 | CLANG_ENABLE_OBJC_WEAK = YES; 313 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 314 | CLANG_WARN_BOOL_CONVERSION = YES; 315 | CLANG_WARN_COMMA = YES; 316 | CLANG_WARN_CONSTANT_CONVERSION = YES; 317 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 318 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 319 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 320 | CLANG_WARN_EMPTY_BODY = YES; 321 | CLANG_WARN_ENUM_CONVERSION = YES; 322 | CLANG_WARN_INFINITE_RECURSION = YES; 323 | CLANG_WARN_INT_CONVERSION = YES; 324 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 325 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 326 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 327 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 328 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 329 | CLANG_WARN_STRICT_PROTOTYPES = YES; 330 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 331 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 332 | CLANG_WARN_UNREACHABLE_CODE = YES; 333 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 334 | COPY_PHASE_STRIP = NO; 335 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 336 | ENABLE_NS_ASSERTIONS = NO; 337 | ENABLE_STRICT_OBJC_MSGSEND = YES; 338 | GCC_C_LANGUAGE_STANDARD = gnu11; 339 | GCC_NO_COMMON_BLOCKS = YES; 340 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 341 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 342 | GCC_WARN_UNDECLARED_SELECTOR = YES; 343 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 344 | GCC_WARN_UNUSED_FUNCTION = YES; 345 | GCC_WARN_UNUSED_VARIABLE = YES; 346 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 347 | MTL_ENABLE_DEBUG_INFO = NO; 348 | MTL_FAST_MATH = YES; 349 | SDKROOT = iphoneos; 350 | SWIFT_COMPILATION_MODE = wholemodule; 351 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 352 | VALIDATE_PRODUCT = YES; 353 | }; 354 | name = Release; 355 | }; 356 | 9F361E2623C40CF700A17646 /* Debug */ = { 357 | isa = XCBuildConfiguration; 358 | baseConfigurationReference = 1DFA6E01FBE81246A2BE46AB /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */; 359 | buildSettings = { 360 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 361 | CODE_SIGN_STYLE = Automatic; 362 | DEVELOPMENT_ASSET_PATHS = "\"LazyViewSwiftUI_Example/Preview Content\""; 363 | DEVELOPMENT_TEAM = 5NN7NG74UC; 364 | ENABLE_PREVIEWS = YES; 365 | INFOPLIST_FILE = LazyViewSwiftUI_Example/Info.plist; 366 | LD_RUNPATH_SEARCH_PATHS = ( 367 | "$(inherited)", 368 | "@executable_path/Frameworks", 369 | ); 370 | PRODUCT_BUNDLE_IDENTIFIER = test.Example; 371 | PRODUCT_NAME = "$(TARGET_NAME)"; 372 | SWIFT_VERSION = 5.0; 373 | TARGETED_DEVICE_FAMILY = "1,2"; 374 | }; 375 | name = Debug; 376 | }; 377 | 9F361E2723C40CF700A17646 /* Release */ = { 378 | isa = XCBuildConfiguration; 379 | baseConfigurationReference = 22D5BED8682BA3DC814BFED7 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */; 380 | buildSettings = { 381 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 382 | CODE_SIGN_STYLE = Automatic; 383 | DEVELOPMENT_ASSET_PATHS = "\"LazyViewSwiftUI_Example/Preview Content\""; 384 | DEVELOPMENT_TEAM = 5NN7NG74UC; 385 | ENABLE_PREVIEWS = YES; 386 | INFOPLIST_FILE = LazyViewSwiftUI_Example/Info.plist; 387 | LD_RUNPATH_SEARCH_PATHS = ( 388 | "$(inherited)", 389 | "@executable_path/Frameworks", 390 | ); 391 | PRODUCT_BUNDLE_IDENTIFIER = test.Example; 392 | PRODUCT_NAME = "$(TARGET_NAME)"; 393 | SWIFT_VERSION = 5.0; 394 | TARGETED_DEVICE_FAMILY = "1,2"; 395 | }; 396 | name = Release; 397 | }; 398 | /* End XCBuildConfiguration section */ 399 | 400 | /* Begin XCConfigurationList section */ 401 | 9F361E0C23C40CF600A17646 /* Build configuration list for PBXProject "LazyViewSwiftUI_Example" */ = { 402 | isa = XCConfigurationList; 403 | buildConfigurations = ( 404 | 9F361E2323C40CF700A17646 /* Debug */, 405 | 9F361E2423C40CF700A17646 /* Release */, 406 | ); 407 | defaultConfigurationIsVisible = 0; 408 | defaultConfigurationName = Release; 409 | }; 410 | 9F361E2523C40CF700A17646 /* Build configuration list for PBXNativeTarget "LazyViewSwiftUI_Example" */ = { 411 | isa = XCConfigurationList; 412 | buildConfigurations = ( 413 | 9F361E2623C40CF700A17646 /* Debug */, 414 | 9F361E2723C40CF700A17646 /* Release */, 415 | ); 416 | defaultConfigurationIsVisible = 0; 417 | defaultConfigurationName = Release; 418 | }; 419 | /* End XCConfigurationList section */ 420 | }; 421 | rootObject = 9F361E0923C40CF600A17646 /* Project object */; 422 | } 423 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcodeproj/xcshareddata/xcschemes/LazyViewSwiftUI_Example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 45 | 51 | 52 | 53 | 54 | 60 | 62 | 68 | 69 | 70 | 71 | 73 | 74 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Example 4 | // 5 | // Created by Joseph Hinkle on 1/6/20. 6 | // Copyright © 2020 Joseph Hinkle. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 17 | // Override point for customization after application launch. 18 | return true 19 | } 20 | 21 | // MARK: UISceneSession Lifecycle 22 | 23 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 24 | // Called when a new scene session is being created. 25 | // Use this method to select a configuration to create the new scene with. 26 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 27 | } 28 | 29 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 30 | // Called when the user discards a scene session. 31 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 32 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 33 | } 34 | 35 | 36 | } 37 | 38 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // LazyViewSwiftUI_Example 4 | // 5 | // Created by Joseph Hinkle on 1/6/20. 6 | // Copyright © 2020 Joseph Hinkle. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | import LazyViewSwiftUI 11 | 12 | struct ContentView: View { 13 | var body: some View { 14 | NavigationView { 15 | NavigationLink(destination: LazyView(DetailView("Details text"))) { 16 | Text("Go to details").font(.largeTitle) 17 | } 18 | } 19 | } 20 | } 21 | 22 | struct DetailView: View { 23 | var shouldBeSetAfterPushingVC: String 24 | var body: some View { 25 | Text(shouldBeSetAfterPushingVC).font(.largeTitle) 26 | } 27 | init(_ value: String) { 28 | shouldBeSetAfterPushingVC = value 29 | } 30 | } 31 | 32 | 33 | struct ContentView_Previews: PreviewProvider { 34 | static var previews: some View { 35 | ContentView() 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UIApplicationSceneManifest 24 | 25 | UIApplicationSupportsMultipleScenes 26 | 27 | UISceneConfigurations 28 | 29 | UIWindowSceneSessionRoleApplication 30 | 31 | 32 | UISceneConfigurationName 33 | Default Configuration 34 | UISceneDelegateClassName 35 | $(PRODUCT_MODULE_NAME).SceneDelegate 36 | 37 | 38 | 39 | 40 | UILaunchStoryboardName 41 | LaunchScreen 42 | UIRequiredDeviceCapabilities 43 | 44 | armv7 45 | 46 | UISupportedInterfaceOrientations 47 | 48 | UIInterfaceOrientationPortrait 49 | UIInterfaceOrientationLandscapeLeft 50 | UIInterfaceOrientationLandscapeRight 51 | 52 | UISupportedInterfaceOrientations~ipad 53 | 54 | UIInterfaceOrientationPortrait 55 | UIInterfaceOrientationPortraitUpsideDown 56 | UIInterfaceOrientationLandscapeLeft 57 | UIInterfaceOrientationLandscapeRight 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Example/LazyViewSwiftUI_Example/SceneDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.swift 3 | // Example 4 | // 5 | // Created by Joseph Hinkle on 1/6/20. 6 | // Copyright © 2020 Joseph Hinkle. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import SwiftUI 11 | 12 | class SceneDelegate: UIResponder, UIWindowSceneDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | 17 | func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { 18 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. 19 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. 20 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). 21 | 22 | // Create the SwiftUI view that provides the window contents. 23 | let contentView = ContentView() 24 | 25 | // Use a UIHostingController as window root view controller. 26 | if let windowScene = scene as? UIWindowScene { 27 | let window = UIWindow(windowScene: windowScene) 28 | window.rootViewController = UIHostingController(rootView: contentView) 29 | self.window = window 30 | window.makeKeyAndVisible() 31 | } 32 | } 33 | 34 | func sceneDidDisconnect(_ scene: UIScene) { 35 | // Called as the scene is being released by the system. 36 | // This occurs shortly after the scene enters the background, or when its session is discarded. 37 | // Release any resources associated with this scene that can be re-created the next time the scene connects. 38 | // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). 39 | } 40 | 41 | func sceneDidBecomeActive(_ scene: UIScene) { 42 | // Called when the scene has moved from an inactive state to an active state. 43 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. 44 | } 45 | 46 | func sceneWillResignActive(_ scene: UIScene) { 47 | // Called when the scene will move from an active state to an inactive state. 48 | // This may occur due to temporary interruptions (ex. an incoming phone call). 49 | } 50 | 51 | func sceneWillEnterForeground(_ scene: UIScene) { 52 | // Called as the scene transitions from the background to the foreground. 53 | // Use this method to undo the changes made on entering the background. 54 | } 55 | 56 | func sceneDidEnterBackground(_ scene: UIScene) { 57 | // Called as the scene transitions from the foreground to the background. 58 | // Use this method to save data, release shared resources, and store enough scene-specific state information 59 | // to restore the scene back to its current state. 60 | } 61 | 62 | 63 | } 64 | 65 | -------------------------------------------------------------------------------- /Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | target 'LazyViewSwiftUI_Example' do 4 | pod 'LazyViewSwiftUI', :path => '../' 5 | 6 | end 7 | -------------------------------------------------------------------------------- /Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LazyViewSwiftUI (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - LazyViewSwiftUI (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | LazyViewSwiftUI: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | LazyViewSwiftUI: 2df82bf65520c4ac35c2c1fabb83802c52bf2d2c 13 | 14 | PODFILE CHECKSUM: becd6d37f6e7909e38e12bd3c9ede74b2532282c 15 | 16 | COCOAPODS: 1.5.3 17 | -------------------------------------------------------------------------------- /Example/Pods/Local Podspecs/LazyViewSwiftUI.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LazyViewSwiftUI", 3 | "version": "0.1.0", 4 | "summary": "Lazy load a SwiftUI view to fix a problem with NavigationLink.", 5 | "description": "TODO: Add long description of the pod here.", 6 | "homepage": "https://github.com/joehinkle11/LazyViewSwiftUI", 7 | "license": { 8 | "type": "MIT", 9 | "file": "LICENSE" 10 | }, 11 | "authors": { 12 | "joehinkle11": "joehinkle11@gmail.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/joehinkle11/LazyViewSwiftUI.git", 16 | "tag": "0.1.0" 17 | }, 18 | "platforms": { 19 | "ios": "13.0" 20 | }, 21 | "source_files": "Source/**/*" 22 | } 23 | -------------------------------------------------------------------------------- /Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LazyViewSwiftUI (0.1.0) 3 | 4 | DEPENDENCIES: 5 | - LazyViewSwiftUI (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | LazyViewSwiftUI: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | LazyViewSwiftUI: 2df82bf65520c4ac35c2c1fabb83802c52bf2d2c 13 | 14 | PODFILE CHECKSUM: becd6d37f6e7909e38e12bd3c9ede74b2532282c 15 | 16 | COCOAPODS: 1.5.3 17 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 03AC51DC6E8959775D2224B024B42378 /* LazyViewSwiftUI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A083F3B873DAEECB0600E174B580BBBE /* LazyViewSwiftUI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 11 | 4AA04DD51FBBF6EC8A368229FD618A5E /* LazyViewSwiftUI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 184AD304B2EE342DE34AF409BC005C7D /* LazyViewSwiftUI-dummy.m */; }; 12 | 840D367B5B6A48DC033515FB3606C082 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; 13 | 889959F8C54CED9E7F1747F994C07EAB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; 14 | 8CCAC16BDC36BE35DC41A8EF0FCD164E /* LazyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D606608FEACAC895852D8F724CD15676 /* LazyView.swift */; }; 15 | 9F5147190B42E0819B3F96E7C0D45E24 /* Pods-LazyViewSwiftUI_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C7F12E3CD7F2577F4BCE65FCCA93E41F /* Pods-LazyViewSwiftUI_Example-dummy.m */; }; 16 | FA9423516B4DFAB99ED55DE50AC74C21 /* Pods-LazyViewSwiftUI_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE08DBA3FB0CB9AD18788FA026BC588 /* Pods-LazyViewSwiftUI_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXContainerItemProxy section */ 20 | F6B61A4CF71C887F8B76F09244D351C3 /* PBXContainerItemProxy */ = { 21 | isa = PBXContainerItemProxy; 22 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; 23 | proxyType = 1; 24 | remoteGlobalIDString = D1F9C064CECB5601196F471681E28115; 25 | remoteInfo = LazyViewSwiftUI; 26 | }; 27 | /* End PBXContainerItemProxy section */ 28 | 29 | /* Begin PBXFileReference section */ 30 | 184AD304B2EE342DE34AF409BC005C7D /* LazyViewSwiftUI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LazyViewSwiftUI-dummy.m"; sourceTree = ""; }; 31 | 211D7358F9E39D30F3DAC38BEE523B72 /* Pods_LazyViewSwiftUI_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LazyViewSwiftUI_Example.framework; path = "Pods-LazyViewSwiftUI_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 32 | 24390EFD555DD124430DFF9724065945 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 33 | 270B24D69C54657D9A72C865EA01CF16 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LazyViewSwiftUI_Example.release.xcconfig"; sourceTree = ""; }; 34 | 296072076BC5E1E33E0DECC0A0D5FDEF /* Pods-LazyViewSwiftUI_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LazyViewSwiftUI_Example-resources.sh"; sourceTree = ""; }; 35 | 2F6C582667397B4DAE69C295F7FC7ADD /* LazyViewSwiftUI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = LazyViewSwiftUI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 36 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 37 | 3C375B3BBDA135CD3C5444262FC8FB13 /* LazyViewSwiftUI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LazyViewSwiftUI-prefix.pch"; sourceTree = ""; }; 38 | 40A426EA4836646B84119A23D185F325 /* LazyViewSwiftUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LazyViewSwiftUI.framework; path = LazyViewSwiftUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | 524F352B3F58E446B8E134C35B482A7F /* LazyViewSwiftUI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LazyViewSwiftUI.xcconfig; sourceTree = ""; }; 40 | 6D76176C3472E5AEB5B6AFAD8743FC3D /* LazyViewSwiftUI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LazyViewSwiftUI.modulemap; sourceTree = ""; }; 41 | 780871B9D81E39E2E0B5E34BFE83FB04 /* Pods-LazyViewSwiftUI_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LazyViewSwiftUI_Example-acknowledgements.plist"; sourceTree = ""; }; 42 | 7D63E64A590E043208CE79529755A33D /* Pods-LazyViewSwiftUI_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LazyViewSwiftUI_Example.modulemap"; sourceTree = ""; }; 43 | 8D073F4AD710ECADED6EE2F16F86E0F5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 44 | 8DCD095728C8305CF2EB744D588550F0 /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LazyViewSwiftUI_Example.debug.xcconfig"; sourceTree = ""; }; 45 | A083F3B873DAEECB0600E174B580BBBE /* LazyViewSwiftUI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LazyViewSwiftUI-umbrella.h"; sourceTree = ""; }; 46 | AF3A07A5F9EF72738F9FB0488B735458 /* Pods-LazyViewSwiftUI_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LazyViewSwiftUI_Example-acknowledgements.markdown"; sourceTree = ""; }; 47 | B8D99E4BDF0EF6CAC579252C5018878E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 48 | C7F12E3CD7F2577F4BCE65FCCA93E41F /* Pods-LazyViewSwiftUI_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LazyViewSwiftUI_Example-dummy.m"; sourceTree = ""; }; 49 | C8C0D3AA5162423000611894CC892CAD /* Pods-LazyViewSwiftUI_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LazyViewSwiftUI_Example-frameworks.sh"; sourceTree = ""; }; 50 | D606608FEACAC895852D8F724CD15676 /* LazyView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LazyView.swift; path = Source/LazyView.swift; sourceTree = ""; }; 51 | D8EB8DF27682152C5543EFBDEF0D4C33 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 52 | EAE08DBA3FB0CB9AD18788FA026BC588 /* Pods-LazyViewSwiftUI_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LazyViewSwiftUI_Example-umbrella.h"; sourceTree = ""; }; 53 | F06163B7B24128160AB51C9BE0597340 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 54 | /* End PBXFileReference section */ 55 | 56 | /* Begin PBXFrameworksBuildPhase section */ 57 | 196903B61C02BD2B329FABCAD6B743FA /* Frameworks */ = { 58 | isa = PBXFrameworksBuildPhase; 59 | buildActionMask = 2147483647; 60 | files = ( 61 | 889959F8C54CED9E7F1747F994C07EAB /* Foundation.framework in Frameworks */, 62 | ); 63 | runOnlyForDeploymentPostprocessing = 0; 64 | }; 65 | D343930FE6A1592C253A321F9AE93406 /* Frameworks */ = { 66 | isa = PBXFrameworksBuildPhase; 67 | buildActionMask = 2147483647; 68 | files = ( 69 | 840D367B5B6A48DC033515FB3606C082 /* Foundation.framework in Frameworks */, 70 | ); 71 | runOnlyForDeploymentPostprocessing = 0; 72 | }; 73 | /* End PBXFrameworksBuildPhase section */ 74 | 75 | /* Begin PBXGroup section */ 76 | 398AAC3E705C4D0FBC8F31E0FBAF86E4 /* Products */ = { 77 | isa = PBXGroup; 78 | children = ( 79 | 40A426EA4836646B84119A23D185F325 /* LazyViewSwiftUI.framework */, 80 | 211D7358F9E39D30F3DAC38BEE523B72 /* Pods_LazyViewSwiftUI_Example.framework */, 81 | ); 82 | name = Products; 83 | sourceTree = ""; 84 | }; 85 | 7B86841810CDC6147139A1DA5C5CBF51 /* Pods-LazyViewSwiftUI_Example */ = { 86 | isa = PBXGroup; 87 | children = ( 88 | B8D99E4BDF0EF6CAC579252C5018878E /* Info.plist */, 89 | 7D63E64A590E043208CE79529755A33D /* Pods-LazyViewSwiftUI_Example.modulemap */, 90 | AF3A07A5F9EF72738F9FB0488B735458 /* Pods-LazyViewSwiftUI_Example-acknowledgements.markdown */, 91 | 780871B9D81E39E2E0B5E34BFE83FB04 /* Pods-LazyViewSwiftUI_Example-acknowledgements.plist */, 92 | C7F12E3CD7F2577F4BCE65FCCA93E41F /* Pods-LazyViewSwiftUI_Example-dummy.m */, 93 | C8C0D3AA5162423000611894CC892CAD /* Pods-LazyViewSwiftUI_Example-frameworks.sh */, 94 | 296072076BC5E1E33E0DECC0A0D5FDEF /* Pods-LazyViewSwiftUI_Example-resources.sh */, 95 | EAE08DBA3FB0CB9AD18788FA026BC588 /* Pods-LazyViewSwiftUI_Example-umbrella.h */, 96 | 8DCD095728C8305CF2EB744D588550F0 /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */, 97 | 270B24D69C54657D9A72C865EA01CF16 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */, 98 | ); 99 | name = "Pods-LazyViewSwiftUI_Example"; 100 | path = "Target Support Files/Pods-LazyViewSwiftUI_Example"; 101 | sourceTree = ""; 102 | }; 103 | 917942BA1DFAF9D25F552AC2A5D5861D /* Development Pods */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | B103E50997916A7AAFBC9837A48ED671 /* LazyViewSwiftUI */, 107 | ); 108 | name = "Development Pods"; 109 | sourceTree = ""; 110 | }; 111 | B103E50997916A7AAFBC9837A48ED671 /* LazyViewSwiftUI */ = { 112 | isa = PBXGroup; 113 | children = ( 114 | D606608FEACAC895852D8F724CD15676 /* LazyView.swift */, 115 | FBB84B072A5D3798F1CAAA3ADA5493BA /* Pod */, 116 | D9BC5B3BD739A6A179E7739300C81BED /* Support Files */, 117 | ); 118 | name = LazyViewSwiftUI; 119 | path = ../..; 120 | sourceTree = ""; 121 | }; 122 | B6F98788233489F5141256A2AFAC6588 /* Targets Support Files */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | 7B86841810CDC6147139A1DA5C5CBF51 /* Pods-LazyViewSwiftUI_Example */, 126 | ); 127 | name = "Targets Support Files"; 128 | sourceTree = ""; 129 | }; 130 | C0834CEBB1379A84116EF29F93051C60 /* iOS */ = { 131 | isa = PBXGroup; 132 | children = ( 133 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */, 134 | ); 135 | name = iOS; 136 | sourceTree = ""; 137 | }; 138 | CF1408CF629C7361332E53B88F7BD30C = { 139 | isa = PBXGroup; 140 | children = ( 141 | 24390EFD555DD124430DFF9724065945 /* Podfile */, 142 | 917942BA1DFAF9D25F552AC2A5D5861D /* Development Pods */, 143 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, 144 | 398AAC3E705C4D0FBC8F31E0FBAF86E4 /* Products */, 145 | B6F98788233489F5141256A2AFAC6588 /* Targets Support Files */, 146 | ); 147 | sourceTree = ""; 148 | }; 149 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { 150 | isa = PBXGroup; 151 | children = ( 152 | C0834CEBB1379A84116EF29F93051C60 /* iOS */, 153 | ); 154 | name = Frameworks; 155 | sourceTree = ""; 156 | }; 157 | D9BC5B3BD739A6A179E7739300C81BED /* Support Files */ = { 158 | isa = PBXGroup; 159 | children = ( 160 | 8D073F4AD710ECADED6EE2F16F86E0F5 /* Info.plist */, 161 | 6D76176C3472E5AEB5B6AFAD8743FC3D /* LazyViewSwiftUI.modulemap */, 162 | 524F352B3F58E446B8E134C35B482A7F /* LazyViewSwiftUI.xcconfig */, 163 | 184AD304B2EE342DE34AF409BC005C7D /* LazyViewSwiftUI-dummy.m */, 164 | 3C375B3BBDA135CD3C5444262FC8FB13 /* LazyViewSwiftUI-prefix.pch */, 165 | A083F3B873DAEECB0600E174B580BBBE /* LazyViewSwiftUI-umbrella.h */, 166 | ); 167 | name = "Support Files"; 168 | path = "Example/Pods/Target Support Files/LazyViewSwiftUI"; 169 | sourceTree = ""; 170 | }; 171 | FBB84B072A5D3798F1CAAA3ADA5493BA /* Pod */ = { 172 | isa = PBXGroup; 173 | children = ( 174 | 2F6C582667397B4DAE69C295F7FC7ADD /* LazyViewSwiftUI.podspec */, 175 | F06163B7B24128160AB51C9BE0597340 /* LICENSE */, 176 | D8EB8DF27682152C5543EFBDEF0D4C33 /* README.md */, 177 | ); 178 | name = Pod; 179 | sourceTree = ""; 180 | }; 181 | /* End PBXGroup section */ 182 | 183 | /* Begin PBXHeadersBuildPhase section */ 184 | 3E9D088602799588243158D91639C2FE /* Headers */ = { 185 | isa = PBXHeadersBuildPhase; 186 | buildActionMask = 2147483647; 187 | files = ( 188 | 03AC51DC6E8959775D2224B024B42378 /* LazyViewSwiftUI-umbrella.h in Headers */, 189 | ); 190 | runOnlyForDeploymentPostprocessing = 0; 191 | }; 192 | 7FDC536C2B202B1BC84D401A9C749923 /* Headers */ = { 193 | isa = PBXHeadersBuildPhase; 194 | buildActionMask = 2147483647; 195 | files = ( 196 | FA9423516B4DFAB99ED55DE50AC74C21 /* Pods-LazyViewSwiftUI_Example-umbrella.h in Headers */, 197 | ); 198 | runOnlyForDeploymentPostprocessing = 0; 199 | }; 200 | /* End PBXHeadersBuildPhase section */ 201 | 202 | /* Begin PBXNativeTarget section */ 203 | D1F9C064CECB5601196F471681E28115 /* LazyViewSwiftUI */ = { 204 | isa = PBXNativeTarget; 205 | buildConfigurationList = 9B39ED2261C2479306B143C927045D1C /* Build configuration list for PBXNativeTarget "LazyViewSwiftUI" */; 206 | buildPhases = ( 207 | 3E9D088602799588243158D91639C2FE /* Headers */, 208 | C0710807B00A84A6D301D49F5755166D /* Sources */, 209 | D343930FE6A1592C253A321F9AE93406 /* Frameworks */, 210 | 8FB0DA4D566E6B512B91C89636D49829 /* Resources */, 211 | ); 212 | buildRules = ( 213 | ); 214 | dependencies = ( 215 | ); 216 | name = LazyViewSwiftUI; 217 | productName = LazyViewSwiftUI; 218 | productReference = 40A426EA4836646B84119A23D185F325 /* LazyViewSwiftUI.framework */; 219 | productType = "com.apple.product-type.framework"; 220 | }; 221 | FA8C41CF439A5834C6A52FCC893448DD /* Pods-LazyViewSwiftUI_Example */ = { 222 | isa = PBXNativeTarget; 223 | buildConfigurationList = 6135487BDD4575CA8EEBC84CEDA5C9FC /* Build configuration list for PBXNativeTarget "Pods-LazyViewSwiftUI_Example" */; 224 | buildPhases = ( 225 | 7FDC536C2B202B1BC84D401A9C749923 /* Headers */, 226 | 18C32B6BC66E9481A44C7DAC3C250572 /* Sources */, 227 | 196903B61C02BD2B329FABCAD6B743FA /* Frameworks */, 228 | 338CE5B56EF8373370612B547D027B7D /* Resources */, 229 | ); 230 | buildRules = ( 231 | ); 232 | dependencies = ( 233 | D7797D82C81F91C0ABE74DD8CA3CF700 /* PBXTargetDependency */, 234 | ); 235 | name = "Pods-LazyViewSwiftUI_Example"; 236 | productName = "Pods-LazyViewSwiftUI_Example"; 237 | productReference = 211D7358F9E39D30F3DAC38BEE523B72 /* Pods_LazyViewSwiftUI_Example.framework */; 238 | productType = "com.apple.product-type.framework"; 239 | }; 240 | /* End PBXNativeTarget section */ 241 | 242 | /* Begin PBXProject section */ 243 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = { 244 | isa = PBXProject; 245 | attributes = { 246 | LastSwiftUpdateCheck = 1100; 247 | LastUpgradeCheck = 1100; 248 | }; 249 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; 250 | compatibilityVersion = "Xcode 9.3"; 251 | developmentRegion = en; 252 | hasScannedForEncodings = 0; 253 | knownRegions = ( 254 | en, 255 | ); 256 | mainGroup = CF1408CF629C7361332E53B88F7BD30C; 257 | productRefGroup = 398AAC3E705C4D0FBC8F31E0FBAF86E4 /* Products */; 258 | projectDirPath = ""; 259 | projectRoot = ""; 260 | targets = ( 261 | D1F9C064CECB5601196F471681E28115 /* LazyViewSwiftUI */, 262 | FA8C41CF439A5834C6A52FCC893448DD /* Pods-LazyViewSwiftUI_Example */, 263 | ); 264 | }; 265 | /* End PBXProject section */ 266 | 267 | /* Begin PBXResourcesBuildPhase section */ 268 | 338CE5B56EF8373370612B547D027B7D /* Resources */ = { 269 | isa = PBXResourcesBuildPhase; 270 | buildActionMask = 2147483647; 271 | files = ( 272 | ); 273 | runOnlyForDeploymentPostprocessing = 0; 274 | }; 275 | 8FB0DA4D566E6B512B91C89636D49829 /* Resources */ = { 276 | isa = PBXResourcesBuildPhase; 277 | buildActionMask = 2147483647; 278 | files = ( 279 | ); 280 | runOnlyForDeploymentPostprocessing = 0; 281 | }; 282 | /* End PBXResourcesBuildPhase section */ 283 | 284 | /* Begin PBXSourcesBuildPhase section */ 285 | 18C32B6BC66E9481A44C7DAC3C250572 /* Sources */ = { 286 | isa = PBXSourcesBuildPhase; 287 | buildActionMask = 2147483647; 288 | files = ( 289 | 9F5147190B42E0819B3F96E7C0D45E24 /* Pods-LazyViewSwiftUI_Example-dummy.m in Sources */, 290 | ); 291 | runOnlyForDeploymentPostprocessing = 0; 292 | }; 293 | C0710807B00A84A6D301D49F5755166D /* Sources */ = { 294 | isa = PBXSourcesBuildPhase; 295 | buildActionMask = 2147483647; 296 | files = ( 297 | 8CCAC16BDC36BE35DC41A8EF0FCD164E /* LazyView.swift in Sources */, 298 | 4AA04DD51FBBF6EC8A368229FD618A5E /* LazyViewSwiftUI-dummy.m in Sources */, 299 | ); 300 | runOnlyForDeploymentPostprocessing = 0; 301 | }; 302 | /* End PBXSourcesBuildPhase section */ 303 | 304 | /* Begin PBXTargetDependency section */ 305 | D7797D82C81F91C0ABE74DD8CA3CF700 /* PBXTargetDependency */ = { 306 | isa = PBXTargetDependency; 307 | name = LazyViewSwiftUI; 308 | target = D1F9C064CECB5601196F471681E28115 /* LazyViewSwiftUI */; 309 | targetProxy = F6B61A4CF71C887F8B76F09244D351C3 /* PBXContainerItemProxy */; 310 | }; 311 | /* End PBXTargetDependency section */ 312 | 313 | /* Begin XCBuildConfiguration section */ 314 | 0901BD9E1DFF50ABC45E9466DD834C11 /* Release */ = { 315 | isa = XCBuildConfiguration; 316 | baseConfigurationReference = 524F352B3F58E446B8E134C35B482A7F /* LazyViewSwiftUI.xcconfig */; 317 | buildSettings = { 318 | CLANG_ENABLE_OBJC_WEAK = NO; 319 | CODE_SIGN_IDENTITY = ""; 320 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 321 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 322 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 323 | CURRENT_PROJECT_VERSION = 1; 324 | DEFINES_MODULE = YES; 325 | DYLIB_COMPATIBILITY_VERSION = 1; 326 | DYLIB_CURRENT_VERSION = 1; 327 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 328 | GCC_PREFIX_HEADER = "Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI-prefix.pch"; 329 | INFOPLIST_FILE = "Target Support Files/LazyViewSwiftUI/Info.plist"; 330 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 331 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 332 | LD_RUNPATH_SEARCH_PATHS = ( 333 | "$(inherited)", 334 | "@executable_path/Frameworks", 335 | "@loader_path/Frameworks", 336 | ); 337 | MODULEMAP_FILE = "Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI.modulemap"; 338 | PRODUCT_MODULE_NAME = LazyViewSwiftUI; 339 | PRODUCT_NAME = LazyViewSwiftUI; 340 | SDKROOT = iphoneos; 341 | SKIP_INSTALL = YES; 342 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 343 | SWIFT_VERSION = 5.0; 344 | TARGETED_DEVICE_FAMILY = "1,2"; 345 | VALIDATE_PRODUCT = YES; 346 | VERSIONING_SYSTEM = "apple-generic"; 347 | VERSION_INFO_PREFIX = ""; 348 | }; 349 | name = Release; 350 | }; 351 | 29927EE09A6CBAB2F3C675D8EE5B83EA /* Debug */ = { 352 | isa = XCBuildConfiguration; 353 | buildSettings = { 354 | ALWAYS_SEARCH_USER_PATHS = NO; 355 | CLANG_ANALYZER_NONNULL = YES; 356 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 357 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 358 | CLANG_CXX_LIBRARY = "libc++"; 359 | CLANG_ENABLE_MODULES = YES; 360 | CLANG_ENABLE_OBJC_ARC = YES; 361 | CLANG_ENABLE_OBJC_WEAK = YES; 362 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 363 | CLANG_WARN_BOOL_CONVERSION = YES; 364 | CLANG_WARN_COMMA = YES; 365 | CLANG_WARN_CONSTANT_CONVERSION = YES; 366 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 367 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 368 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 369 | CLANG_WARN_EMPTY_BODY = YES; 370 | CLANG_WARN_ENUM_CONVERSION = YES; 371 | CLANG_WARN_INFINITE_RECURSION = YES; 372 | CLANG_WARN_INT_CONVERSION = YES; 373 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 374 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 375 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 376 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 377 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 378 | CLANG_WARN_STRICT_PROTOTYPES = YES; 379 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 380 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 381 | CLANG_WARN_UNREACHABLE_CODE = YES; 382 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 383 | CODE_SIGNING_ALLOWED = NO; 384 | CODE_SIGNING_REQUIRED = NO; 385 | COPY_PHASE_STRIP = NO; 386 | DEBUG_INFORMATION_FORMAT = dwarf; 387 | ENABLE_STRICT_OBJC_MSGSEND = YES; 388 | ENABLE_TESTABILITY = YES; 389 | GCC_C_LANGUAGE_STANDARD = gnu11; 390 | GCC_DYNAMIC_NO_PIC = NO; 391 | GCC_NO_COMMON_BLOCKS = YES; 392 | GCC_OPTIMIZATION_LEVEL = 0; 393 | GCC_PREPROCESSOR_DEFINITIONS = ( 394 | "POD_CONFIGURATION_DEBUG=1", 395 | "DEBUG=1", 396 | "$(inherited)", 397 | ); 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 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 405 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 406 | MTL_FAST_MATH = YES; 407 | ONLY_ACTIVE_ARCH = YES; 408 | PRODUCT_NAME = "$(TARGET_NAME)"; 409 | STRIP_INSTALLED_PRODUCT = NO; 410 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 411 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 412 | SWIFT_VERSION = 5.0; 413 | SYMROOT = "${SRCROOT}/../build"; 414 | }; 415 | name = Debug; 416 | }; 417 | 50AD3005EE1D81F09D206F0055B93362 /* Debug */ = { 418 | isa = XCBuildConfiguration; 419 | baseConfigurationReference = 524F352B3F58E446B8E134C35B482A7F /* LazyViewSwiftUI.xcconfig */; 420 | buildSettings = { 421 | CLANG_ENABLE_OBJC_WEAK = NO; 422 | CODE_SIGN_IDENTITY = ""; 423 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 424 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 425 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 426 | CURRENT_PROJECT_VERSION = 1; 427 | DEFINES_MODULE = YES; 428 | DYLIB_COMPATIBILITY_VERSION = 1; 429 | DYLIB_CURRENT_VERSION = 1; 430 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 431 | GCC_PREFIX_HEADER = "Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI-prefix.pch"; 432 | INFOPLIST_FILE = "Target Support Files/LazyViewSwiftUI/Info.plist"; 433 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 434 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 435 | LD_RUNPATH_SEARCH_PATHS = ( 436 | "$(inherited)", 437 | "@executable_path/Frameworks", 438 | "@loader_path/Frameworks", 439 | ); 440 | MODULEMAP_FILE = "Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI.modulemap"; 441 | PRODUCT_MODULE_NAME = LazyViewSwiftUI; 442 | PRODUCT_NAME = LazyViewSwiftUI; 443 | SDKROOT = iphoneos; 444 | SKIP_INSTALL = YES; 445 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 446 | SWIFT_VERSION = 5.0; 447 | TARGETED_DEVICE_FAMILY = "1,2"; 448 | VERSIONING_SYSTEM = "apple-generic"; 449 | VERSION_INFO_PREFIX = ""; 450 | }; 451 | name = Debug; 452 | }; 453 | 64FB567E547462E42E9BCBA9FB5D411B /* Release */ = { 454 | isa = XCBuildConfiguration; 455 | buildSettings = { 456 | ALWAYS_SEARCH_USER_PATHS = NO; 457 | CLANG_ANALYZER_NONNULL = YES; 458 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 459 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 460 | CLANG_CXX_LIBRARY = "libc++"; 461 | CLANG_ENABLE_MODULES = YES; 462 | CLANG_ENABLE_OBJC_ARC = YES; 463 | CLANG_ENABLE_OBJC_WEAK = YES; 464 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 465 | CLANG_WARN_BOOL_CONVERSION = YES; 466 | CLANG_WARN_COMMA = YES; 467 | CLANG_WARN_CONSTANT_CONVERSION = YES; 468 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 469 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 470 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 471 | CLANG_WARN_EMPTY_BODY = YES; 472 | CLANG_WARN_ENUM_CONVERSION = YES; 473 | CLANG_WARN_INFINITE_RECURSION = YES; 474 | CLANG_WARN_INT_CONVERSION = YES; 475 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 476 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 477 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 478 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 479 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 480 | CLANG_WARN_STRICT_PROTOTYPES = YES; 481 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 482 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 483 | CLANG_WARN_UNREACHABLE_CODE = YES; 484 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 485 | CODE_SIGNING_ALLOWED = NO; 486 | CODE_SIGNING_REQUIRED = NO; 487 | COPY_PHASE_STRIP = NO; 488 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 489 | ENABLE_NS_ASSERTIONS = NO; 490 | ENABLE_STRICT_OBJC_MSGSEND = YES; 491 | GCC_C_LANGUAGE_STANDARD = gnu11; 492 | GCC_NO_COMMON_BLOCKS = YES; 493 | GCC_PREPROCESSOR_DEFINITIONS = ( 494 | "POD_CONFIGURATION_RELEASE=1", 495 | "$(inherited)", 496 | ); 497 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 498 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 499 | GCC_WARN_UNDECLARED_SELECTOR = YES; 500 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 501 | GCC_WARN_UNUSED_FUNCTION = YES; 502 | GCC_WARN_UNUSED_VARIABLE = YES; 503 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 504 | MTL_ENABLE_DEBUG_INFO = NO; 505 | MTL_FAST_MATH = YES; 506 | PRODUCT_NAME = "$(TARGET_NAME)"; 507 | STRIP_INSTALLED_PRODUCT = NO; 508 | SWIFT_COMPILATION_MODE = wholemodule; 509 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 510 | SWIFT_VERSION = 5.0; 511 | SYMROOT = "${SRCROOT}/../build"; 512 | }; 513 | name = Release; 514 | }; 515 | 6C3E9C1AF256908FD4FB5552DE41D644 /* Release */ = { 516 | isa = XCBuildConfiguration; 517 | baseConfigurationReference = 270B24D69C54657D9A72C865EA01CF16 /* Pods-LazyViewSwiftUI_Example.release.xcconfig */; 518 | buildSettings = { 519 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 520 | CLANG_ENABLE_OBJC_WEAK = NO; 521 | CODE_SIGN_IDENTITY = ""; 522 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 523 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 524 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 525 | CURRENT_PROJECT_VERSION = 1; 526 | DEFINES_MODULE = YES; 527 | DYLIB_COMPATIBILITY_VERSION = 1; 528 | DYLIB_CURRENT_VERSION = 1; 529 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 530 | INFOPLIST_FILE = "Target Support Files/Pods-LazyViewSwiftUI_Example/Info.plist"; 531 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 532 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 533 | LD_RUNPATH_SEARCH_PATHS = ( 534 | "$(inherited)", 535 | "@executable_path/Frameworks", 536 | "@loader_path/Frameworks", 537 | ); 538 | MACH_O_TYPE = staticlib; 539 | MODULEMAP_FILE = "Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.modulemap"; 540 | OTHER_LDFLAGS = ""; 541 | OTHER_LIBTOOLFLAGS = ""; 542 | PODS_ROOT = "$(SRCROOT)"; 543 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 544 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 545 | SDKROOT = iphoneos; 546 | SKIP_INSTALL = YES; 547 | TARGETED_DEVICE_FAMILY = "1,2"; 548 | VALIDATE_PRODUCT = YES; 549 | VERSIONING_SYSTEM = "apple-generic"; 550 | VERSION_INFO_PREFIX = ""; 551 | }; 552 | name = Release; 553 | }; 554 | A9ACA6A08C00343FA1C9A60EAA15A756 /* Debug */ = { 555 | isa = XCBuildConfiguration; 556 | baseConfigurationReference = 8DCD095728C8305CF2EB744D588550F0 /* Pods-LazyViewSwiftUI_Example.debug.xcconfig */; 557 | buildSettings = { 558 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 559 | CLANG_ENABLE_OBJC_WEAK = NO; 560 | CODE_SIGN_IDENTITY = ""; 561 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 562 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 563 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 564 | CURRENT_PROJECT_VERSION = 1; 565 | DEFINES_MODULE = YES; 566 | DYLIB_COMPATIBILITY_VERSION = 1; 567 | DYLIB_CURRENT_VERSION = 1; 568 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 569 | INFOPLIST_FILE = "Target Support Files/Pods-LazyViewSwiftUI_Example/Info.plist"; 570 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 571 | IPHONEOS_DEPLOYMENT_TARGET = 13.2; 572 | LD_RUNPATH_SEARCH_PATHS = ( 573 | "$(inherited)", 574 | "@executable_path/Frameworks", 575 | "@loader_path/Frameworks", 576 | ); 577 | MACH_O_TYPE = staticlib; 578 | MODULEMAP_FILE = "Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.modulemap"; 579 | OTHER_LDFLAGS = ""; 580 | OTHER_LIBTOOLFLAGS = ""; 581 | PODS_ROOT = "$(SRCROOT)"; 582 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 583 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 584 | SDKROOT = iphoneos; 585 | SKIP_INSTALL = YES; 586 | TARGETED_DEVICE_FAMILY = "1,2"; 587 | VERSIONING_SYSTEM = "apple-generic"; 588 | VERSION_INFO_PREFIX = ""; 589 | }; 590 | name = Debug; 591 | }; 592 | /* End XCBuildConfiguration section */ 593 | 594 | /* Begin XCConfigurationList section */ 595 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { 596 | isa = XCConfigurationList; 597 | buildConfigurations = ( 598 | 29927EE09A6CBAB2F3C675D8EE5B83EA /* Debug */, 599 | 64FB567E547462E42E9BCBA9FB5D411B /* Release */, 600 | ); 601 | defaultConfigurationIsVisible = 0; 602 | defaultConfigurationName = Release; 603 | }; 604 | 6135487BDD4575CA8EEBC84CEDA5C9FC /* Build configuration list for PBXNativeTarget "Pods-LazyViewSwiftUI_Example" */ = { 605 | isa = XCConfigurationList; 606 | buildConfigurations = ( 607 | A9ACA6A08C00343FA1C9A60EAA15A756 /* Debug */, 608 | 6C3E9C1AF256908FD4FB5552DE41D644 /* Release */, 609 | ); 610 | defaultConfigurationIsVisible = 0; 611 | defaultConfigurationName = Release; 612 | }; 613 | 9B39ED2261C2479306B143C927045D1C /* Build configuration list for PBXNativeTarget "LazyViewSwiftUI" */ = { 614 | isa = XCConfigurationList; 615 | buildConfigurations = ( 616 | 50AD3005EE1D81F09D206F0055B93362 /* Debug */, 617 | 0901BD9E1DFF50ABC45E9466DD834C11 /* Release */, 618 | ); 619 | defaultConfigurationIsVisible = 0; 620 | defaultConfigurationName = Release; 621 | }; 622 | /* End XCConfigurationList section */ 623 | }; 624 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; 625 | } 626 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_LazyViewSwiftUI : NSObject 3 | @end 4 | @implementation PodsDummy_LazyViewSwiftUI 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double LazyViewSwiftUIVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char LazyViewSwiftUIVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI.modulemap: -------------------------------------------------------------------------------- 1 | framework module LazyViewSwiftUI { 2 | umbrella header "LazyViewSwiftUI-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/LazyViewSwiftUI/LazyViewSwiftUI.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LazyViewSwiftUI 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## LazyViewSwiftUI 5 | 6 | Copyright (c) 2020 Joe Hinkle https://www.joehinkle.io/ 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | Generated by CocoaPods - https://cocoapods.org 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright (c) 2020 Joe Hinkle https://www.joehinkle.io/ 18 | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy 20 | of this software and associated documentation files (the "Software"), to deal 21 | in the Software without restriction, including without limitation the rights 22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 23 | copies of the Software, and to permit persons to whom the Software is 24 | furnished to do so, subject to the following conditions: 25 | 26 | The above copyright notice and this permission notice shall be included in 27 | all copies or substantial portions of the Software. 28 | 29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 35 | THE SOFTWARE. 36 | 37 | License 38 | MIT 39 | Title 40 | LazyViewSwiftUI 41 | Type 42 | PSGroupSpecifier 43 | 44 | 45 | FooterText 46 | Generated by CocoaPods - https://cocoapods.org 47 | Title 48 | 49 | Type 50 | PSGroupSpecifier 51 | 52 | 53 | StringsTable 54 | Acknowledgements 55 | Title 56 | Acknowledgements 57 | 58 | 59 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_LazyViewSwiftUI_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_LazyViewSwiftUI_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -u 4 | set -o pipefail 5 | 6 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then 7 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy 8 | # frameworks to, so exit 0 (signalling the script phase was successful). 9 | exit 0 10 | fi 11 | 12 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 13 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 14 | 15 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" 16 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 17 | 18 | # Used as a return value for each invocation of `strip_invalid_archs` function. 19 | STRIP_BINARY_RETVAL=0 20 | 21 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 22 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 23 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 24 | 25 | # Copies and strips a vendored framework 26 | install_framework() 27 | { 28 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 29 | local source="${BUILT_PRODUCTS_DIR}/$1" 30 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 31 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 32 | elif [ -r "$1" ]; then 33 | local source="$1" 34 | fi 35 | 36 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 37 | 38 | if [ -L "${source}" ]; then 39 | echo "Symlinked..." 40 | source="$(readlink "${source}")" 41 | fi 42 | 43 | # Use filter instead of exclude so missing patterns don't throw errors. 44 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 45 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 46 | 47 | local basename 48 | basename="$(basename -s .framework "$1")" 49 | binary="${destination}/${basename}.framework/${basename}" 50 | if ! [ -r "$binary" ]; then 51 | binary="${destination}/${basename}" 52 | fi 53 | 54 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 55 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 56 | strip_invalid_archs "$binary" 57 | fi 58 | 59 | # Resign the code if required by the build settings to avoid unstable apps 60 | code_sign_if_enabled "${destination}/$(basename "$1")" 61 | 62 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 63 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 64 | local swift_runtime_libs 65 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 66 | for lib in $swift_runtime_libs; do 67 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 68 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 69 | code_sign_if_enabled "${destination}/${lib}" 70 | done 71 | fi 72 | } 73 | 74 | # Copies and strips a vendored dSYM 75 | install_dsym() { 76 | local source="$1" 77 | if [ -r "$source" ]; then 78 | # Copy the dSYM into a the targets temp dir. 79 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" 80 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" 81 | 82 | local basename 83 | basename="$(basename -s .framework.dSYM "$source")" 84 | binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" 85 | 86 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 87 | if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then 88 | strip_invalid_archs "$binary" 89 | fi 90 | 91 | if [[ $STRIP_BINARY_RETVAL == 1 ]]; then 92 | # Move the stripped file into its final destination. 93 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" 94 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" 95 | else 96 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. 97 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" 98 | fi 99 | fi 100 | } 101 | 102 | # Signs a framework with the provided identity 103 | code_sign_if_enabled() { 104 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 105 | # Use the current code_sign_identitiy 106 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 107 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" 108 | 109 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 110 | code_sign_cmd="$code_sign_cmd &" 111 | fi 112 | echo "$code_sign_cmd" 113 | eval "$code_sign_cmd" 114 | fi 115 | } 116 | 117 | # Strip invalid architectures 118 | strip_invalid_archs() { 119 | binary="$1" 120 | # Get architectures for current target binary 121 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" 122 | # Intersect them with the architectures we are building for 123 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" 124 | # If there are no archs supported by this binary then warn the user 125 | if [[ -z "$intersected_archs" ]]; then 126 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." 127 | STRIP_BINARY_RETVAL=0 128 | return 129 | fi 130 | stripped="" 131 | for arch in $binary_archs; do 132 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then 133 | # Strip non-valid architectures in-place 134 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 135 | stripped="$stripped $arch" 136 | fi 137 | done 138 | if [[ "$stripped" ]]; then 139 | echo "Stripped $binary of architectures:$stripped" 140 | fi 141 | STRIP_BINARY_RETVAL=1 142 | } 143 | 144 | 145 | if [[ "$CONFIGURATION" == "Debug" ]]; then 146 | install_framework "${BUILT_PRODUCTS_DIR}/LazyViewSwiftUI/LazyViewSwiftUI.framework" 147 | fi 148 | if [[ "$CONFIGURATION" == "Release" ]]; then 149 | install_framework "${BUILT_PRODUCTS_DIR}/LazyViewSwiftUI/LazyViewSwiftUI.framework" 150 | fi 151 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 152 | wait 153 | fi 154 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -u 4 | set -o pipefail 5 | 6 | if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then 7 | # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy 8 | # resources to, so exit 0 (signalling the script phase was successful). 9 | exit 0 10 | fi 11 | 12 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 13 | 14 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 15 | > "$RESOURCES_TO_COPY" 16 | 17 | XCASSET_FILES=() 18 | 19 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 20 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 21 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 22 | 23 | case "${TARGETED_DEVICE_FAMILY:-}" in 24 | 1,2) 25 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 26 | ;; 27 | 1) 28 | TARGET_DEVICE_ARGS="--target-device iphone" 29 | ;; 30 | 2) 31 | TARGET_DEVICE_ARGS="--target-device ipad" 32 | ;; 33 | 3) 34 | TARGET_DEVICE_ARGS="--target-device tv" 35 | ;; 36 | 4) 37 | TARGET_DEVICE_ARGS="--target-device watch" 38 | ;; 39 | *) 40 | TARGET_DEVICE_ARGS="--target-device mac" 41 | ;; 42 | esac 43 | 44 | install_resource() 45 | { 46 | if [[ "$1" = /* ]] ; then 47 | RESOURCE_PATH="$1" 48 | else 49 | RESOURCE_PATH="${PODS_ROOT}/$1" 50 | fi 51 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 52 | cat << EOM 53 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 54 | EOM 55 | exit 1 56 | fi 57 | case $RESOURCE_PATH in 58 | *.storyboard) 59 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 60 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 61 | ;; 62 | *.xib) 63 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 64 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 65 | ;; 66 | *.framework) 67 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 68 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 69 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 70 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 71 | ;; 72 | *.xcdatamodel) 73 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true 74 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 75 | ;; 76 | *.xcdatamodeld) 77 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true 78 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 79 | ;; 80 | *.xcmappingmodel) 81 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true 82 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 83 | ;; 84 | *.xcassets) 85 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 86 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 87 | ;; 88 | *) 89 | echo "$RESOURCE_PATH" || true 90 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 91 | ;; 92 | esac 93 | } 94 | 95 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 96 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 97 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 98 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 99 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 100 | fi 101 | rm -f "$RESOURCES_TO_COPY" 102 | 103 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] 104 | then 105 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 106 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 107 | while read line; do 108 | if [[ $line != "${PODS_ROOT}*" ]]; then 109 | XCASSET_FILES+=("$line") 110 | fi 111 | done <<<"$OTHER_XCASSETS" 112 | 113 | if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then 114 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 115 | else 116 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" 117 | fi 118 | fi 119 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_LazyViewSwiftUI_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_LazyViewSwiftUI_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LazyViewSwiftUI" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/LazyViewSwiftUI/LazyViewSwiftUI.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "LazyViewSwiftUI" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_LazyViewSwiftUI_Example { 2 | umbrella header "Pods-LazyViewSwiftUI_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-LazyViewSwiftUI_Example/Pods-LazyViewSwiftUI_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LazyViewSwiftUI" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/LazyViewSwiftUI/LazyViewSwiftUI.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "LazyViewSwiftUI" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 Joe Hinkle https://www.joehinkle.io/ 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /LazyViewSwiftUI.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # Be sure to run `pod lib lint LazyViewSwiftUI.podspec' to ensure this is a 3 | # valid spec before submitting. 4 | # 5 | # Any lines starting with a # are optional, but their use is encouraged 6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html 7 | # 8 | 9 | Pod::Spec.new do |s| 10 | s.name = 'LazyViewSwiftUI' 11 | s.version = '1.0.0' 12 | s.summary = 'Lazy load a SwiftUI view to fix a problem with NavigationLink.' 13 | 14 | # This description is used to generate tags and improve search results. 15 | # * Think: What does it do? Why did you write it? What is the focus? 16 | # * Try to keep it short, snappy and to the point. 17 | # * Write the description between the DESC delimiters below. 18 | # * Finally, don't worry about the indent, CocoaPods strips it! 19 | 20 | s.description = <<-DESC 21 | Wrap any SwiftUI view in LazyLoad() to fix a problem with NavigationLink. 22 | DESC 23 | 24 | s.homepage = 'https://github.com/joehinkle11/Lazy-View-SwiftUI' 25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' 26 | s.license = { :type => 'MIT', :file => 'LICENSE' } 27 | s.author = { 'joehinkle11' => 'joehinkle11@gmail.com' } 28 | s.source = { :git => 'https://github.com/joehinkle11/Lazy-View-SwiftUI.git', :tag => s.version.to_s } 29 | # s.social_media_url = 'https://twitter.com/joehink95' 30 | 31 | s.ios.deployment_target = '13.0' 32 | 33 | s.source_files = 'Source/**/*' 34 | 35 | # s.resource_bundles = { 36 | # 'LazyViewSwiftUI' => ['LazyViewSwiftUI/Assets/*.png'] 37 | # } 38 | 39 | # s.public_header_files = 'Pod/Classes/**/*.h' 40 | # s.frameworks = 'UIKit', 'MapKit' 41 | # s.dependency 'AFNetworking', '~> 2.3' 42 | end 43 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.1 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription 5 | 6 | let package = Package( 7 | name: "LazyViewSwiftUI", 8 | platforms: [.iOS(.v13)], 9 | products: [ 10 | // Products define the executables and libraries produced by a package, and make them visible to other packages. 11 | .library( 12 | name: "LazyViewSwiftUI", 13 | targets: ["LazyViewSwiftUI"]), 14 | ], 15 | dependencies: [ 16 | // Dependencies declare other packages that this package depends on. 17 | // .package(url: /* package url */, from: "1.0.0"), 18 | ], 19 | targets: [ 20 | // Targets are the basic building blocks of a package. A target can define a module or a test suite. 21 | // Targets can depend on other targets in this package, and on products in packages which this package depends on. 22 | .target( 23 | name: "LazyViewSwiftUI", 24 | path: "Source"), 25 | ] 26 | ) 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lazy View SwiftUI 2 | 3 | I came up with this solution independently while working on a project. After some more Googling, I found others had come across the same bug and solved it. I am using this as an opportunity to try my first CocoaPod and SwiftPackage. 4 | 5 | ## Why Lazy Load a SwiftUI View? 6 | 7 | The primary problem is with `NavigationLink`. The destination view given will be immediately instantiated and loaded--before the user even navigates to the details page. This is a problem for large details pages that you don't want to have immediately loaded with the previous screen. 8 | 9 | ## Example project: 10 | 11 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 12 | 13 | ## Example usage: 14 | 15 | ```swift 16 | struct ContentView: View { 17 | var body: some View { 18 | NavigationView { 19 | NavigationLink(destination: LazyView(Text("My details page"))) { 20 | Text("Go to details") 21 | } 22 | } 23 | } 24 | } 25 | ``` 26 | 27 | ## Installation 28 | 29 | ### CocoaPods 30 | 31 | LazyViewSwiftUI is available through [CocoaPods](https://cocoapods.org). To install 32 | it, simply add the following line to your Podfile: 33 | 34 | ```ruby 35 | pod 'LazyViewSwiftUI' 36 | ``` 37 | 38 | ### SPM 39 | 40 | LazyViewSwiftUI is also available through [Swift Package Manager](https://swift.org/package-manager/). 41 | 42 | Once you have your Swift package set up, adding LazyViewSwiftUI as a dependency is as easy as adding it to the dependencies value of your Package.swift. 43 | 44 | dependencies: [ 45 | .package(url: "https://github.com/joehinkle11/Lazy-View-SwiftUI") 46 | ] 47 | 48 | ## Sources 49 | 50 | - https://medium.com/better-programming/swiftui-navigation-links-and-the-common-pitfalls-faced-505cbfd8029b 51 | - https://gist.github.com/chriseidhof/d2fcafb53843df343fe07f3c0dac41d5 52 | - https://twitter.com/chriseidhof/status/1144242544680849410?lang=en 53 | -------------------------------------------------------------------------------- /Source/LazyView.swift: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | LazyView.swift 4 | 5 | 6 | Author: Joe Hinkle 7 | Date: Jan 6, 2020 8 | 9 | 10 | Notes: I came up with this solution independently while working on a project. After some more Googling, I found others had come across the same bug and solved it. I am using this as an opportunity to try my first CocoaPod and SwiftPackage. 11 | 12 | 13 | Sources: 14 | - https://medium.com/better-programming/swiftui-navigation-links-and-the-common-pitfalls-faced-505cbfd8029b 15 | - https://gist.github.com/chriseidhof/d2fcafb53843df343fe07f3c0dac41d5 16 | - https://twitter.com/chriseidhof/status/1144242544680849410?lang=en 17 | 18 | 19 | Example usage: 20 | struct ContentView: View { 21 | var body: some View { 22 | NavigationView { 23 | NavigationLink(destination: LazyView(Text("My details page")) { 24 | Text("Go to details") 25 | } 26 | } 27 | } 28 | } 29 | */ 30 | 31 | import SwiftUI 32 | 33 | public struct LazyView: View { 34 | private let build: () -> Content 35 | public init(_ build: @autoclosure @escaping () -> Content) { 36 | self.build = build 37 | } 38 | public var body: Content { 39 | build() 40 | } 41 | } 42 | --------------------------------------------------------------------------------