├── Error_Pages.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── abir.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── Error_Pages ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── bg │ │ ├── 10_Connection Lost.imageset │ │ │ ├── 10_Connection Lost@2x.pdf │ │ │ └── Contents.json │ │ ├── 11_Broken Link.imageset │ │ │ ├── 11_Broken Link@2x.pdf │ │ │ └── Contents.json │ │ ├── 12_Article Not Found.imageset │ │ │ ├── 12_Article Not Found@2x.pdf │ │ │ └── Contents.json │ │ ├── 13_Storage Not Enough.imageset │ │ │ ├── 13_Storage Not Enough@2x.pdf │ │ │ └── Contents.json │ │ ├── 14_No Search Results.imageset │ │ │ ├── 14_No Search Results@2x.pdf │ │ │ └── Contents.json │ │ ├── 15_Payment Error.imageset │ │ │ ├── 15_Payment Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 16_Time Error.imageset │ │ │ ├── 16_Time Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 17_Location Error.imageset │ │ │ ├── 17_Location Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 18_Router Offline.imageset │ │ │ ├── 18_Router Offline@2x.pdf │ │ │ └── Contents.json │ │ ├── 19_Error.imageset │ │ │ ├── 19_Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 1_No Connection.imageset │ │ │ ├── 1_No Connection@2x.pdf │ │ │ └── Contents.json │ │ ├── 20_File Not Found.imageset │ │ │ ├── 20_File Not Found@2x.pdf │ │ │ └── Contents.json │ │ ├── 21_No Camera Access.imageset │ │ │ ├── 21_No Camera Access@2x.pdf │ │ │ └── Contents.json │ │ ├── 2_404 Error.imageset │ │ │ ├── 2_404 Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 3_Something Went Wrong.imageset │ │ │ ├── 3_Something Went Wrong@2x.pdf │ │ │ └── Contents.json │ │ ├── 4_File Not Found.imageset │ │ │ ├── 4_File Not Found@2x.pdf │ │ │ └── Contents.json │ │ ├── 5_Something Wrong.imageset │ │ │ ├── 5_Something Wrong@2x.pdf │ │ │ └── Contents.json │ │ ├── 6_Error.imageset │ │ │ ├── 6_Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 7_Error.imageset │ │ │ ├── 7_Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 8_404 Error.imageset │ │ │ ├── 8_404 Error@2x.pdf │ │ │ └── Contents.json │ │ ├── 9_Location Error.imageset │ │ │ ├── 9_Location Error@2x.pdf │ │ │ └── Contents.json │ │ └── Contents.json │ └── images │ │ ├── 10_Connection Lost.imageset │ │ ├── 10_Connection Lost@2x.svg │ │ └── Contents.json │ │ ├── 11_Broken Link.imageset │ │ ├── 11_Broken Link@2x.svg │ │ └── Contents.json │ │ ├── 12_Article Not Found.imageset │ │ ├── 12_Article Not Found@2x.svg │ │ └── Contents.json │ │ ├── 13_Storage Not Enough.imageset │ │ ├── 13_Storage Not Enough@2x.svg │ │ └── Contents.json │ │ ├── 14_No Search Results.imageset │ │ ├── 14_No Search Results@2x.svg │ │ └── Contents.json │ │ ├── 15_Payment Error.imageset │ │ ├── 15_Payment Error@2x.svg │ │ └── Contents.json │ │ ├── 16_Time Error.imageset │ │ ├── 16_Time Error@2x.svg │ │ └── Contents.json │ │ ├── 17_Location Error.imageset │ │ ├── 17_Location Error@2x.svg │ │ └── Contents.json │ │ ├── 18_Router Offline.imageset │ │ ├── 18_Router Offline@2x.svg │ │ └── Contents.json │ │ ├── 19_Error.imageset │ │ ├── 19_Error@2x.svg │ │ └── Contents.json │ │ ├── 1_No Connection.imageset │ │ ├── 1_No Connection@2x.svg │ │ └── Contents.json │ │ ├── 20_File Not Found.imageset │ │ ├── 20_File Not Found@2x.svg │ │ └── Contents.json │ │ ├── 21_No Camera Access.imageset │ │ ├── 21_No Camera Access@2x.svg │ │ └── Contents.json │ │ ├── 2_404 Error.imageset │ │ ├── 2_404 Error@2x.svg │ │ └── Contents.json │ │ ├── 3_Something Went Wrong.imageset │ │ ├── 3_Something Went Wrong@2x.svg │ │ └── Contents.json │ │ ├── 4_File Not Found.imageset │ │ ├── 4_File Not Found@2x.svg │ │ └── Contents.json │ │ ├── 5_Something Wrong.imageset │ │ ├── 5_Something Wrong@2x.svg │ │ └── Contents.json │ │ ├── 6_Error.imageset │ │ ├── 6_Error@2x.svg │ │ └── Contents.json │ │ ├── 7_Error.imageset │ │ ├── 7_Error@2x.svg │ │ └── Contents.json │ │ ├── 8_404 Error.imageset │ │ ├── 8_404 Error@2x.svg │ │ └── Contents.json │ │ ├── 9_Location Error.imageset │ │ ├── 9_Location Error@2x.svg │ │ └── Contents.json │ │ └── Contents.json ├── BrokenLink.swift ├── CameraAccess.swift ├── ConnectionFailed.swift ├── ContentView.swift ├── Error.swift ├── Error404.swift ├── ErrorFood.swift ├── ErrorScreen404.swift ├── Error_PagesApp.swift ├── FIleNotFound2.swift ├── FileNotFound.swift ├── Info.plist ├── LocationAccess.swift ├── LocationError.swift ├── MissingArticle.swift ├── NoConnection.swift ├── NoSearchResult.swift ├── PaymentFailed.swift ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── RouterOffline.swift ├── SomethingWentWrong.swift ├── SomethingWrong.swift ├── StorageNotEnough.swift └── TimeError.swift ├── Error_PagesTests ├── Error_PagesTests.swift └── Info.plist ├── Error_PagesUITests ├── Error_PagesUITests.swift └── Info.plist └── Readme.md /Error_Pages.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 8817BEB925AB71D1009F32AC /* Error_PagesApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8817BEB825AB71D1009F32AC /* Error_PagesApp.swift */; }; 11 | 8817BEBB25AB71D1009F32AC /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8817BEBA25AB71D1009F32AC /* ContentView.swift */; }; 12 | 8817BEBD25AB71D2009F32AC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8817BEBC25AB71D2009F32AC /* Assets.xcassets */; }; 13 | 8817BEC025AB71D2009F32AC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8817BEBF25AB71D2009F32AC /* Preview Assets.xcassets */; }; 14 | 8817BECB25AB71D2009F32AC /* Error_PagesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8817BECA25AB71D2009F32AC /* Error_PagesTests.swift */; }; 15 | 8817BED625AB71D2009F32AC /* Error_PagesUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8817BED525AB71D2009F32AC /* Error_PagesUITests.swift */; }; 16 | 8833A09225AC3FBC0046D95C /* NoConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A09125AC3FBC0046D95C /* NoConnection.swift */; }; 17 | 8833A09725AC60830046D95C /* Error404.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A09625AC60830046D95C /* Error404.swift */; }; 18 | 8833A09C25AC63CD0046D95C /* SomethingWentWrong.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A09B25AC63CD0046D95C /* SomethingWentWrong.swift */; }; 19 | 8833A0A125AC645D0046D95C /* SomethingWrong.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A0A025AC645D0046D95C /* SomethingWrong.swift */; }; 20 | 8833A0A625AC66470046D95C /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A0A525AC66470046D95C /* Error.swift */; }; 21 | 8833A0AB25AC6AA10046D95C /* LocationAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8833A0AA25AC6AA10046D95C /* LocationAccess.swift */; }; 22 | 88FEA4D125ADF3D5000B5CB0 /* BrokenLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4D025ADF3D5000B5CB0 /* BrokenLink.swift */; }; 23 | 88FEA4D625ADF5E2000B5CB0 /* MissingArticle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4D525ADF5E2000B5CB0 /* MissingArticle.swift */; }; 24 | 88FEA4DB25ADF73F000B5CB0 /* PaymentFailed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4DA25ADF73F000B5CB0 /* PaymentFailed.swift */; }; 25 | 88FEA4E025ADF81F000B5CB0 /* RouterOffline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4DF25ADF81F000B5CB0 /* RouterOffline.swift */; }; 26 | 88FEA4E525ADF88C000B5CB0 /* ConnectionFailed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4E425ADF88C000B5CB0 /* ConnectionFailed.swift */; }; 27 | 88FEA4F225ADF975000B5CB0 /* CameraAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4F125ADF975000B5CB0 /* CameraAccess.swift */; }; 28 | 88FEA4F725ADFA2F000B5CB0 /* FileNotFound.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4F625ADFA2F000B5CB0 /* FileNotFound.swift */; }; 29 | 88FEA4FC25ADFB4A000B5CB0 /* ErrorFood.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA4FB25ADFB4A000B5CB0 /* ErrorFood.swift */; }; 30 | 88FEA50125ADFC2A000B5CB0 /* ErrorScreen404.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA50025ADFC2A000B5CB0 /* ErrorScreen404.swift */; }; 31 | 88FEA50625ADFD23000B5CB0 /* StorageNotEnough.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA50525ADFD23000B5CB0 /* StorageNotEnough.swift */; }; 32 | 88FEA50B25ADFE5B000B5CB0 /* TimeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA50A25ADFE5B000B5CB0 /* TimeError.swift */; }; 33 | 88FEA51025ADFF3A000B5CB0 /* LocationError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA50F25ADFF3A000B5CB0 /* LocationError.swift */; }; 34 | 88FEA51525ADFFD9000B5CB0 /* FIleNotFound2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA51425ADFFD9000B5CB0 /* FIleNotFound2.swift */; }; 35 | 88FEA51A25AE0492000B5CB0 /* NoSearchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FEA51925AE0492000B5CB0 /* NoSearchResult.swift */; }; 36 | 88FEA51F25AE093C000B5CB0 /* Readme.md in Resources */ = {isa = PBXBuildFile; fileRef = 88FEA51E25AE093C000B5CB0 /* Readme.md */; }; 37 | /* End PBXBuildFile section */ 38 | 39 | /* Begin PBXContainerItemProxy section */ 40 | 8817BEC725AB71D2009F32AC /* PBXContainerItemProxy */ = { 41 | isa = PBXContainerItemProxy; 42 | containerPortal = 8817BEAD25AB71D1009F32AC /* Project object */; 43 | proxyType = 1; 44 | remoteGlobalIDString = 8817BEB425AB71D1009F32AC; 45 | remoteInfo = Error_Pages; 46 | }; 47 | 8817BED225AB71D2009F32AC /* PBXContainerItemProxy */ = { 48 | isa = PBXContainerItemProxy; 49 | containerPortal = 8817BEAD25AB71D1009F32AC /* Project object */; 50 | proxyType = 1; 51 | remoteGlobalIDString = 8817BEB425AB71D1009F32AC; 52 | remoteInfo = Error_Pages; 53 | }; 54 | /* End PBXContainerItemProxy section */ 55 | 56 | /* Begin PBXFileReference section */ 57 | 8817BEB525AB71D1009F32AC /* Error_Pages.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Error_Pages.app; sourceTree = BUILT_PRODUCTS_DIR; }; 58 | 8817BEB825AB71D1009F32AC /* Error_PagesApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error_PagesApp.swift; sourceTree = ""; }; 59 | 8817BEBA25AB71D1009F32AC /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 60 | 8817BEBC25AB71D2009F32AC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 61 | 8817BEBF25AB71D2009F32AC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 62 | 8817BEC125AB71D2009F32AC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63 | 8817BEC625AB71D2009F32AC /* Error_PagesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Error_PagesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 64 | 8817BECA25AB71D2009F32AC /* Error_PagesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error_PagesTests.swift; sourceTree = ""; }; 65 | 8817BECC25AB71D2009F32AC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 66 | 8817BED125AB71D2009F32AC /* Error_PagesUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Error_PagesUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 67 | 8817BED525AB71D2009F32AC /* Error_PagesUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error_PagesUITests.swift; sourceTree = ""; }; 68 | 8817BED725AB71D2009F32AC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 69 | 8833A09125AC3FBC0046D95C /* NoConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoConnection.swift; sourceTree = ""; }; 70 | 8833A09625AC60830046D95C /* Error404.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error404.swift; sourceTree = ""; }; 71 | 8833A09B25AC63CD0046D95C /* SomethingWentWrong.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SomethingWentWrong.swift; sourceTree = ""; }; 72 | 8833A0A025AC645D0046D95C /* SomethingWrong.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SomethingWrong.swift; sourceTree = ""; }; 73 | 8833A0A525AC66470046D95C /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; 74 | 8833A0AA25AC6AA10046D95C /* LocationAccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationAccess.swift; sourceTree = ""; }; 75 | 88FEA4D025ADF3D5000B5CB0 /* BrokenLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrokenLink.swift; sourceTree = ""; }; 76 | 88FEA4D525ADF5E2000B5CB0 /* MissingArticle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MissingArticle.swift; sourceTree = ""; }; 77 | 88FEA4DA25ADF73F000B5CB0 /* PaymentFailed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentFailed.swift; sourceTree = ""; }; 78 | 88FEA4DF25ADF81F000B5CB0 /* RouterOffline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterOffline.swift; sourceTree = ""; }; 79 | 88FEA4E425ADF88C000B5CB0 /* ConnectionFailed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionFailed.swift; sourceTree = ""; }; 80 | 88FEA4F125ADF975000B5CB0 /* CameraAccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraAccess.swift; sourceTree = ""; }; 81 | 88FEA4F625ADFA2F000B5CB0 /* FileNotFound.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileNotFound.swift; sourceTree = ""; }; 82 | 88FEA4FB25ADFB4A000B5CB0 /* ErrorFood.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorFood.swift; sourceTree = ""; }; 83 | 88FEA50025ADFC2A000B5CB0 /* ErrorScreen404.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorScreen404.swift; sourceTree = ""; }; 84 | 88FEA50525ADFD23000B5CB0 /* StorageNotEnough.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageNotEnough.swift; sourceTree = ""; }; 85 | 88FEA50A25ADFE5B000B5CB0 /* TimeError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeError.swift; sourceTree = ""; }; 86 | 88FEA50F25ADFF3A000B5CB0 /* LocationError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationError.swift; sourceTree = ""; }; 87 | 88FEA51425ADFFD9000B5CB0 /* FIleNotFound2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FIleNotFound2.swift; sourceTree = ""; }; 88 | 88FEA51925AE0492000B5CB0 /* NoSearchResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoSearchResult.swift; sourceTree = ""; }; 89 | 88FEA51E25AE093C000B5CB0 /* Readme.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = ""; }; 90 | /* End PBXFileReference section */ 91 | 92 | /* Begin PBXFrameworksBuildPhase section */ 93 | 8817BEB225AB71D1009F32AC /* Frameworks */ = { 94 | isa = PBXFrameworksBuildPhase; 95 | buildActionMask = 2147483647; 96 | files = ( 97 | ); 98 | runOnlyForDeploymentPostprocessing = 0; 99 | }; 100 | 8817BEC325AB71D2009F32AC /* Frameworks */ = { 101 | isa = PBXFrameworksBuildPhase; 102 | buildActionMask = 2147483647; 103 | files = ( 104 | ); 105 | runOnlyForDeploymentPostprocessing = 0; 106 | }; 107 | 8817BECE25AB71D2009F32AC /* Frameworks */ = { 108 | isa = PBXFrameworksBuildPhase; 109 | buildActionMask = 2147483647; 110 | files = ( 111 | ); 112 | runOnlyForDeploymentPostprocessing = 0; 113 | }; 114 | /* End PBXFrameworksBuildPhase section */ 115 | 116 | /* Begin PBXGroup section */ 117 | 8817BEAC25AB71D1009F32AC = { 118 | isa = PBXGroup; 119 | children = ( 120 | 88FEA51E25AE093C000B5CB0 /* Readme.md */, 121 | 8817BEB725AB71D1009F32AC /* Error_Pages */, 122 | 8817BEC925AB71D2009F32AC /* Error_PagesTests */, 123 | 8817BED425AB71D2009F32AC /* Error_PagesUITests */, 124 | 8817BEB625AB71D1009F32AC /* Products */, 125 | ); 126 | sourceTree = ""; 127 | }; 128 | 8817BEB625AB71D1009F32AC /* Products */ = { 129 | isa = PBXGroup; 130 | children = ( 131 | 8817BEB525AB71D1009F32AC /* Error_Pages.app */, 132 | 8817BEC625AB71D2009F32AC /* Error_PagesTests.xctest */, 133 | 8817BED125AB71D2009F32AC /* Error_PagesUITests.xctest */, 134 | ); 135 | name = Products; 136 | sourceTree = ""; 137 | }; 138 | 8817BEB725AB71D1009F32AC /* Error_Pages */ = { 139 | isa = PBXGroup; 140 | children = ( 141 | 8833A09025AC3F9E0046D95C /* Screens */, 142 | 8817BEB825AB71D1009F32AC /* Error_PagesApp.swift */, 143 | 8817BEBA25AB71D1009F32AC /* ContentView.swift */, 144 | 8817BEBC25AB71D2009F32AC /* Assets.xcassets */, 145 | 8817BEC125AB71D2009F32AC /* Info.plist */, 146 | 8817BEBE25AB71D2009F32AC /* Preview Content */, 147 | ); 148 | path = Error_Pages; 149 | sourceTree = ""; 150 | }; 151 | 8817BEBE25AB71D2009F32AC /* Preview Content */ = { 152 | isa = PBXGroup; 153 | children = ( 154 | 8817BEBF25AB71D2009F32AC /* Preview Assets.xcassets */, 155 | ); 156 | path = "Preview Content"; 157 | sourceTree = ""; 158 | }; 159 | 8817BEC925AB71D2009F32AC /* Error_PagesTests */ = { 160 | isa = PBXGroup; 161 | children = ( 162 | 8817BECA25AB71D2009F32AC /* Error_PagesTests.swift */, 163 | 8817BECC25AB71D2009F32AC /* Info.plist */, 164 | ); 165 | path = Error_PagesTests; 166 | sourceTree = ""; 167 | }; 168 | 8817BED425AB71D2009F32AC /* Error_PagesUITests */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | 8817BED525AB71D2009F32AC /* Error_PagesUITests.swift */, 172 | 8817BED725AB71D2009F32AC /* Info.plist */, 173 | ); 174 | path = Error_PagesUITests; 175 | sourceTree = ""; 176 | }; 177 | 8833A09025AC3F9E0046D95C /* Screens */ = { 178 | isa = PBXGroup; 179 | children = ( 180 | 8833A09125AC3FBC0046D95C /* NoConnection.swift */, 181 | 8833A09625AC60830046D95C /* Error404.swift */, 182 | 8833A09B25AC63CD0046D95C /* SomethingWentWrong.swift */, 183 | 8833A0A025AC645D0046D95C /* SomethingWrong.swift */, 184 | 8833A0A525AC66470046D95C /* Error.swift */, 185 | 8833A0AA25AC6AA10046D95C /* LocationAccess.swift */, 186 | 88FEA4D025ADF3D5000B5CB0 /* BrokenLink.swift */, 187 | 88FEA4D525ADF5E2000B5CB0 /* MissingArticle.swift */, 188 | 88FEA4DA25ADF73F000B5CB0 /* PaymentFailed.swift */, 189 | 88FEA4DF25ADF81F000B5CB0 /* RouterOffline.swift */, 190 | 88FEA4E425ADF88C000B5CB0 /* ConnectionFailed.swift */, 191 | 88FEA4F125ADF975000B5CB0 /* CameraAccess.swift */, 192 | 88FEA4F625ADFA2F000B5CB0 /* FileNotFound.swift */, 193 | 88FEA4FB25ADFB4A000B5CB0 /* ErrorFood.swift */, 194 | 88FEA50025ADFC2A000B5CB0 /* ErrorScreen404.swift */, 195 | 88FEA50525ADFD23000B5CB0 /* StorageNotEnough.swift */, 196 | 88FEA50A25ADFE5B000B5CB0 /* TimeError.swift */, 197 | 88FEA50F25ADFF3A000B5CB0 /* LocationError.swift */, 198 | 88FEA51425ADFFD9000B5CB0 /* FIleNotFound2.swift */, 199 | 88FEA51925AE0492000B5CB0 /* NoSearchResult.swift */, 200 | ); 201 | name = Screens; 202 | sourceTree = ""; 203 | }; 204 | /* End PBXGroup section */ 205 | 206 | /* Begin PBXNativeTarget section */ 207 | 8817BEB425AB71D1009F32AC /* Error_Pages */ = { 208 | isa = PBXNativeTarget; 209 | buildConfigurationList = 8817BEDA25AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_Pages" */; 210 | buildPhases = ( 211 | 8817BEB125AB71D1009F32AC /* Sources */, 212 | 8817BEB225AB71D1009F32AC /* Frameworks */, 213 | 8817BEB325AB71D1009F32AC /* Resources */, 214 | ); 215 | buildRules = ( 216 | ); 217 | dependencies = ( 218 | ); 219 | name = Error_Pages; 220 | productName = Error_Pages; 221 | productReference = 8817BEB525AB71D1009F32AC /* Error_Pages.app */; 222 | productType = "com.apple.product-type.application"; 223 | }; 224 | 8817BEC525AB71D2009F32AC /* Error_PagesTests */ = { 225 | isa = PBXNativeTarget; 226 | buildConfigurationList = 8817BEDD25AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_PagesTests" */; 227 | buildPhases = ( 228 | 8817BEC225AB71D2009F32AC /* Sources */, 229 | 8817BEC325AB71D2009F32AC /* Frameworks */, 230 | 8817BEC425AB71D2009F32AC /* Resources */, 231 | ); 232 | buildRules = ( 233 | ); 234 | dependencies = ( 235 | 8817BEC825AB71D2009F32AC /* PBXTargetDependency */, 236 | ); 237 | name = Error_PagesTests; 238 | productName = Error_PagesTests; 239 | productReference = 8817BEC625AB71D2009F32AC /* Error_PagesTests.xctest */; 240 | productType = "com.apple.product-type.bundle.unit-test"; 241 | }; 242 | 8817BED025AB71D2009F32AC /* Error_PagesUITests */ = { 243 | isa = PBXNativeTarget; 244 | buildConfigurationList = 8817BEE025AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_PagesUITests" */; 245 | buildPhases = ( 246 | 8817BECD25AB71D2009F32AC /* Sources */, 247 | 8817BECE25AB71D2009F32AC /* Frameworks */, 248 | 8817BECF25AB71D2009F32AC /* Resources */, 249 | ); 250 | buildRules = ( 251 | ); 252 | dependencies = ( 253 | 8817BED325AB71D2009F32AC /* PBXTargetDependency */, 254 | ); 255 | name = Error_PagesUITests; 256 | productName = Error_PagesUITests; 257 | productReference = 8817BED125AB71D2009F32AC /* Error_PagesUITests.xctest */; 258 | productType = "com.apple.product-type.bundle.ui-testing"; 259 | }; 260 | /* End PBXNativeTarget section */ 261 | 262 | /* Begin PBXProject section */ 263 | 8817BEAD25AB71D1009F32AC /* Project object */ = { 264 | isa = PBXProject; 265 | attributes = { 266 | LastSwiftUpdateCheck = 1230; 267 | LastUpgradeCheck = 1230; 268 | TargetAttributes = { 269 | 8817BEB425AB71D1009F32AC = { 270 | CreatedOnToolsVersion = 12.3; 271 | }; 272 | 8817BEC525AB71D2009F32AC = { 273 | CreatedOnToolsVersion = 12.3; 274 | TestTargetID = 8817BEB425AB71D1009F32AC; 275 | }; 276 | 8817BED025AB71D2009F32AC = { 277 | CreatedOnToolsVersion = 12.3; 278 | TestTargetID = 8817BEB425AB71D1009F32AC; 279 | }; 280 | }; 281 | }; 282 | buildConfigurationList = 8817BEB025AB71D1009F32AC /* Build configuration list for PBXProject "Error_Pages" */; 283 | compatibilityVersion = "Xcode 9.3"; 284 | developmentRegion = en; 285 | hasScannedForEncodings = 0; 286 | knownRegions = ( 287 | en, 288 | Base, 289 | ); 290 | mainGroup = 8817BEAC25AB71D1009F32AC; 291 | productRefGroup = 8817BEB625AB71D1009F32AC /* Products */; 292 | projectDirPath = ""; 293 | projectRoot = ""; 294 | targets = ( 295 | 8817BEB425AB71D1009F32AC /* Error_Pages */, 296 | 8817BEC525AB71D2009F32AC /* Error_PagesTests */, 297 | 8817BED025AB71D2009F32AC /* Error_PagesUITests */, 298 | ); 299 | }; 300 | /* End PBXProject section */ 301 | 302 | /* Begin PBXResourcesBuildPhase section */ 303 | 8817BEB325AB71D1009F32AC /* Resources */ = { 304 | isa = PBXResourcesBuildPhase; 305 | buildActionMask = 2147483647; 306 | files = ( 307 | 8817BEC025AB71D2009F32AC /* Preview Assets.xcassets in Resources */, 308 | 8817BEBD25AB71D2009F32AC /* Assets.xcassets in Resources */, 309 | 88FEA51F25AE093C000B5CB0 /* Readme.md in Resources */, 310 | ); 311 | runOnlyForDeploymentPostprocessing = 0; 312 | }; 313 | 8817BEC425AB71D2009F32AC /* Resources */ = { 314 | isa = PBXResourcesBuildPhase; 315 | buildActionMask = 2147483647; 316 | files = ( 317 | ); 318 | runOnlyForDeploymentPostprocessing = 0; 319 | }; 320 | 8817BECF25AB71D2009F32AC /* Resources */ = { 321 | isa = PBXResourcesBuildPhase; 322 | buildActionMask = 2147483647; 323 | files = ( 324 | ); 325 | runOnlyForDeploymentPostprocessing = 0; 326 | }; 327 | /* End PBXResourcesBuildPhase section */ 328 | 329 | /* Begin PBXSourcesBuildPhase section */ 330 | 8817BEB125AB71D1009F32AC /* Sources */ = { 331 | isa = PBXSourcesBuildPhase; 332 | buildActionMask = 2147483647; 333 | files = ( 334 | 8833A0A125AC645D0046D95C /* SomethingWrong.swift in Sources */, 335 | 88FEA4D625ADF5E2000B5CB0 /* MissingArticle.swift in Sources */, 336 | 8833A09225AC3FBC0046D95C /* NoConnection.swift in Sources */, 337 | 8833A0AB25AC6AA10046D95C /* LocationAccess.swift in Sources */, 338 | 88FEA4D125ADF3D5000B5CB0 /* BrokenLink.swift in Sources */, 339 | 88FEA4DB25ADF73F000B5CB0 /* PaymentFailed.swift in Sources */, 340 | 88FEA4E025ADF81F000B5CB0 /* RouterOffline.swift in Sources */, 341 | 8817BEBB25AB71D1009F32AC /* ContentView.swift in Sources */, 342 | 88FEA4F725ADFA2F000B5CB0 /* FileNotFound.swift in Sources */, 343 | 88FEA4E525ADF88C000B5CB0 /* ConnectionFailed.swift in Sources */, 344 | 88FEA51525ADFFD9000B5CB0 /* FIleNotFound2.swift in Sources */, 345 | 8833A09C25AC63CD0046D95C /* SomethingWentWrong.swift in Sources */, 346 | 88FEA4F225ADF975000B5CB0 /* CameraAccess.swift in Sources */, 347 | 88FEA4FC25ADFB4A000B5CB0 /* ErrorFood.swift in Sources */, 348 | 88FEA50B25ADFE5B000B5CB0 /* TimeError.swift in Sources */, 349 | 8817BEB925AB71D1009F32AC /* Error_PagesApp.swift in Sources */, 350 | 8833A0A625AC66470046D95C /* Error.swift in Sources */, 351 | 88FEA50625ADFD23000B5CB0 /* StorageNotEnough.swift in Sources */, 352 | 88FEA51025ADFF3A000B5CB0 /* LocationError.swift in Sources */, 353 | 88FEA50125ADFC2A000B5CB0 /* ErrorScreen404.swift in Sources */, 354 | 8833A09725AC60830046D95C /* Error404.swift in Sources */, 355 | 88FEA51A25AE0492000B5CB0 /* NoSearchResult.swift in Sources */, 356 | ); 357 | runOnlyForDeploymentPostprocessing = 0; 358 | }; 359 | 8817BEC225AB71D2009F32AC /* Sources */ = { 360 | isa = PBXSourcesBuildPhase; 361 | buildActionMask = 2147483647; 362 | files = ( 363 | 8817BECB25AB71D2009F32AC /* Error_PagesTests.swift in Sources */, 364 | ); 365 | runOnlyForDeploymentPostprocessing = 0; 366 | }; 367 | 8817BECD25AB71D2009F32AC /* Sources */ = { 368 | isa = PBXSourcesBuildPhase; 369 | buildActionMask = 2147483647; 370 | files = ( 371 | 8817BED625AB71D2009F32AC /* Error_PagesUITests.swift in Sources */, 372 | ); 373 | runOnlyForDeploymentPostprocessing = 0; 374 | }; 375 | /* End PBXSourcesBuildPhase section */ 376 | 377 | /* Begin PBXTargetDependency section */ 378 | 8817BEC825AB71D2009F32AC /* PBXTargetDependency */ = { 379 | isa = PBXTargetDependency; 380 | target = 8817BEB425AB71D1009F32AC /* Error_Pages */; 381 | targetProxy = 8817BEC725AB71D2009F32AC /* PBXContainerItemProxy */; 382 | }; 383 | 8817BED325AB71D2009F32AC /* PBXTargetDependency */ = { 384 | isa = PBXTargetDependency; 385 | target = 8817BEB425AB71D1009F32AC /* Error_Pages */; 386 | targetProxy = 8817BED225AB71D2009F32AC /* PBXContainerItemProxy */; 387 | }; 388 | /* End PBXTargetDependency section */ 389 | 390 | /* Begin XCBuildConfiguration section */ 391 | 8817BED825AB71D2009F32AC /* Debug */ = { 392 | isa = XCBuildConfiguration; 393 | buildSettings = { 394 | ALWAYS_SEARCH_USER_PATHS = NO; 395 | CLANG_ANALYZER_NONNULL = YES; 396 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 397 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 398 | CLANG_CXX_LIBRARY = "libc++"; 399 | CLANG_ENABLE_MODULES = YES; 400 | CLANG_ENABLE_OBJC_ARC = YES; 401 | CLANG_ENABLE_OBJC_WEAK = YES; 402 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 403 | CLANG_WARN_BOOL_CONVERSION = YES; 404 | CLANG_WARN_COMMA = YES; 405 | CLANG_WARN_CONSTANT_CONVERSION = YES; 406 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 407 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 408 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 409 | CLANG_WARN_EMPTY_BODY = YES; 410 | CLANG_WARN_ENUM_CONVERSION = YES; 411 | CLANG_WARN_INFINITE_RECURSION = YES; 412 | CLANG_WARN_INT_CONVERSION = YES; 413 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 414 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 415 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 416 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 417 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 418 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 419 | CLANG_WARN_STRICT_PROTOTYPES = YES; 420 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 421 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 422 | CLANG_WARN_UNREACHABLE_CODE = YES; 423 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 424 | COPY_PHASE_STRIP = NO; 425 | DEBUG_INFORMATION_FORMAT = dwarf; 426 | ENABLE_STRICT_OBJC_MSGSEND = YES; 427 | ENABLE_TESTABILITY = YES; 428 | GCC_C_LANGUAGE_STANDARD = gnu11; 429 | GCC_DYNAMIC_NO_PIC = NO; 430 | GCC_NO_COMMON_BLOCKS = YES; 431 | GCC_OPTIMIZATION_LEVEL = 0; 432 | GCC_PREPROCESSOR_DEFINITIONS = ( 433 | "DEBUG=1", 434 | "$(inherited)", 435 | ); 436 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 437 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 438 | GCC_WARN_UNDECLARED_SELECTOR = YES; 439 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 440 | GCC_WARN_UNUSED_FUNCTION = YES; 441 | GCC_WARN_UNUSED_VARIABLE = YES; 442 | IPHONEOS_DEPLOYMENT_TARGET = 14.3; 443 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 444 | MTL_FAST_MATH = YES; 445 | ONLY_ACTIVE_ARCH = YES; 446 | SDKROOT = iphoneos; 447 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 448 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 449 | }; 450 | name = Debug; 451 | }; 452 | 8817BED925AB71D2009F32AC /* Release */ = { 453 | isa = XCBuildConfiguration; 454 | buildSettings = { 455 | ALWAYS_SEARCH_USER_PATHS = NO; 456 | CLANG_ANALYZER_NONNULL = YES; 457 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 458 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 459 | CLANG_CXX_LIBRARY = "libc++"; 460 | CLANG_ENABLE_MODULES = YES; 461 | CLANG_ENABLE_OBJC_ARC = YES; 462 | CLANG_ENABLE_OBJC_WEAK = YES; 463 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 464 | CLANG_WARN_BOOL_CONVERSION = YES; 465 | CLANG_WARN_COMMA = YES; 466 | CLANG_WARN_CONSTANT_CONVERSION = YES; 467 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 468 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 469 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 470 | CLANG_WARN_EMPTY_BODY = YES; 471 | CLANG_WARN_ENUM_CONVERSION = YES; 472 | CLANG_WARN_INFINITE_RECURSION = YES; 473 | CLANG_WARN_INT_CONVERSION = YES; 474 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 475 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 476 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 477 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 478 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 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 | COPY_PHASE_STRIP = NO; 486 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 487 | ENABLE_NS_ASSERTIONS = NO; 488 | ENABLE_STRICT_OBJC_MSGSEND = YES; 489 | GCC_C_LANGUAGE_STANDARD = gnu11; 490 | GCC_NO_COMMON_BLOCKS = YES; 491 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 492 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 493 | GCC_WARN_UNDECLARED_SELECTOR = YES; 494 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 495 | GCC_WARN_UNUSED_FUNCTION = YES; 496 | GCC_WARN_UNUSED_VARIABLE = YES; 497 | IPHONEOS_DEPLOYMENT_TARGET = 14.3; 498 | MTL_ENABLE_DEBUG_INFO = NO; 499 | MTL_FAST_MATH = YES; 500 | SDKROOT = iphoneos; 501 | SWIFT_COMPILATION_MODE = wholemodule; 502 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 503 | VALIDATE_PRODUCT = YES; 504 | }; 505 | name = Release; 506 | }; 507 | 8817BEDB25AB71D2009F32AC /* Debug */ = { 508 | isa = XCBuildConfiguration; 509 | buildSettings = { 510 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 511 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 512 | CODE_SIGN_STYLE = Automatic; 513 | DEVELOPMENT_ASSET_PATHS = "\"Error_Pages/Preview Content\""; 514 | ENABLE_PREVIEWS = YES; 515 | INFOPLIST_FILE = Error_Pages/Info.plist; 516 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 517 | LD_RUNPATH_SEARCH_PATHS = ( 518 | "$(inherited)", 519 | "@executable_path/Frameworks", 520 | ); 521 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-Pages"; 522 | PRODUCT_NAME = "$(TARGET_NAME)"; 523 | SWIFT_VERSION = 5.0; 524 | TARGETED_DEVICE_FAMILY = "1,2"; 525 | }; 526 | name = Debug; 527 | }; 528 | 8817BEDC25AB71D2009F32AC /* Release */ = { 529 | isa = XCBuildConfiguration; 530 | buildSettings = { 531 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 532 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 533 | CODE_SIGN_STYLE = Automatic; 534 | DEVELOPMENT_ASSET_PATHS = "\"Error_Pages/Preview Content\""; 535 | ENABLE_PREVIEWS = YES; 536 | INFOPLIST_FILE = Error_Pages/Info.plist; 537 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 538 | LD_RUNPATH_SEARCH_PATHS = ( 539 | "$(inherited)", 540 | "@executable_path/Frameworks", 541 | ); 542 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-Pages"; 543 | PRODUCT_NAME = "$(TARGET_NAME)"; 544 | SWIFT_VERSION = 5.0; 545 | TARGETED_DEVICE_FAMILY = "1,2"; 546 | }; 547 | name = Release; 548 | }; 549 | 8817BEDE25AB71D2009F32AC /* Debug */ = { 550 | isa = XCBuildConfiguration; 551 | buildSettings = { 552 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 553 | BUNDLE_LOADER = "$(TEST_HOST)"; 554 | CODE_SIGN_STYLE = Automatic; 555 | INFOPLIST_FILE = Error_PagesTests/Info.plist; 556 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 557 | LD_RUNPATH_SEARCH_PATHS = ( 558 | "$(inherited)", 559 | "@executable_path/Frameworks", 560 | "@loader_path/Frameworks", 561 | ); 562 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-PagesTests"; 563 | PRODUCT_NAME = "$(TARGET_NAME)"; 564 | SWIFT_VERSION = 5.0; 565 | TARGETED_DEVICE_FAMILY = "1,2"; 566 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Error_Pages.app/Error_Pages"; 567 | }; 568 | name = Debug; 569 | }; 570 | 8817BEDF25AB71D2009F32AC /* Release */ = { 571 | isa = XCBuildConfiguration; 572 | buildSettings = { 573 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 574 | BUNDLE_LOADER = "$(TEST_HOST)"; 575 | CODE_SIGN_STYLE = Automatic; 576 | INFOPLIST_FILE = Error_PagesTests/Info.plist; 577 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 578 | LD_RUNPATH_SEARCH_PATHS = ( 579 | "$(inherited)", 580 | "@executable_path/Frameworks", 581 | "@loader_path/Frameworks", 582 | ); 583 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-PagesTests"; 584 | PRODUCT_NAME = "$(TARGET_NAME)"; 585 | SWIFT_VERSION = 5.0; 586 | TARGETED_DEVICE_FAMILY = "1,2"; 587 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Error_Pages.app/Error_Pages"; 588 | }; 589 | name = Release; 590 | }; 591 | 8817BEE125AB71D2009F32AC /* Debug */ = { 592 | isa = XCBuildConfiguration; 593 | buildSettings = { 594 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 595 | CODE_SIGN_STYLE = Automatic; 596 | INFOPLIST_FILE = Error_PagesUITests/Info.plist; 597 | LD_RUNPATH_SEARCH_PATHS = ( 598 | "$(inherited)", 599 | "@executable_path/Frameworks", 600 | "@loader_path/Frameworks", 601 | ); 602 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-PagesUITests"; 603 | PRODUCT_NAME = "$(TARGET_NAME)"; 604 | SWIFT_VERSION = 5.0; 605 | TARGETED_DEVICE_FAMILY = "1,2"; 606 | TEST_TARGET_NAME = Error_Pages; 607 | }; 608 | name = Debug; 609 | }; 610 | 8817BEE225AB71D2009F32AC /* Release */ = { 611 | isa = XCBuildConfiguration; 612 | buildSettings = { 613 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 614 | CODE_SIGN_STYLE = Automatic; 615 | INFOPLIST_FILE = Error_PagesUITests/Info.plist; 616 | LD_RUNPATH_SEARCH_PATHS = ( 617 | "$(inherited)", 618 | "@executable_path/Frameworks", 619 | "@loader_path/Frameworks", 620 | ); 621 | PRODUCT_BUNDLE_IDENTIFIER = "TheSwiftWay.Error-PagesUITests"; 622 | PRODUCT_NAME = "$(TARGET_NAME)"; 623 | SWIFT_VERSION = 5.0; 624 | TARGETED_DEVICE_FAMILY = "1,2"; 625 | TEST_TARGET_NAME = Error_Pages; 626 | }; 627 | name = Release; 628 | }; 629 | /* End XCBuildConfiguration section */ 630 | 631 | /* Begin XCConfigurationList section */ 632 | 8817BEB025AB71D1009F32AC /* Build configuration list for PBXProject "Error_Pages" */ = { 633 | isa = XCConfigurationList; 634 | buildConfigurations = ( 635 | 8817BED825AB71D2009F32AC /* Debug */, 636 | 8817BED925AB71D2009F32AC /* Release */, 637 | ); 638 | defaultConfigurationIsVisible = 0; 639 | defaultConfigurationName = Release; 640 | }; 641 | 8817BEDA25AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_Pages" */ = { 642 | isa = XCConfigurationList; 643 | buildConfigurations = ( 644 | 8817BEDB25AB71D2009F32AC /* Debug */, 645 | 8817BEDC25AB71D2009F32AC /* Release */, 646 | ); 647 | defaultConfigurationIsVisible = 0; 648 | defaultConfigurationName = Release; 649 | }; 650 | 8817BEDD25AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_PagesTests" */ = { 651 | isa = XCConfigurationList; 652 | buildConfigurations = ( 653 | 8817BEDE25AB71D2009F32AC /* Debug */, 654 | 8817BEDF25AB71D2009F32AC /* Release */, 655 | ); 656 | defaultConfigurationIsVisible = 0; 657 | defaultConfigurationName = Release; 658 | }; 659 | 8817BEE025AB71D2009F32AC /* Build configuration list for PBXNativeTarget "Error_PagesUITests" */ = { 660 | isa = XCConfigurationList; 661 | buildConfigurations = ( 662 | 8817BEE125AB71D2009F32AC /* Debug */, 663 | 8817BEE225AB71D2009F32AC /* Release */, 664 | ); 665 | defaultConfigurationIsVisible = 0; 666 | defaultConfigurationName = Release; 667 | }; 668 | /* End XCConfigurationList section */ 669 | }; 670 | rootObject = 8817BEAD25AB71D1009F32AC /* Project object */; 671 | } 672 | -------------------------------------------------------------------------------- /Error_Pages.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Error_Pages.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Error_Pages.xcodeproj/xcuserdata/abir.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Error_Pages.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "scale" : "1x", 46 | "size" : "20x20" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "scale" : "2x", 51 | "size" : "20x20" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "scale" : "1x", 56 | "size" : "29x29" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "scale" : "2x", 61 | "size" : "29x29" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "scale" : "1x", 66 | "size" : "40x40" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "scale" : "2x", 71 | "size" : "40x40" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "scale" : "1x", 76 | "size" : "76x76" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "scale" : "2x", 81 | "size" : "76x76" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "scale" : "2x", 86 | "size" : "83.5x83.5" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "scale" : "1x", 91 | "size" : "1024x1024" 92 | } 93 | ], 94 | "info" : { 95 | "author" : "xcode", 96 | "version" : 1 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/10_Connection Lost.imageset/10_Connection Lost@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/10_Connection Lost.imageset/10_Connection Lost@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/10_Connection Lost.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "10_Connection Lost@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/11_Broken Link.imageset/11_Broken Link@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/11_Broken Link.imageset/11_Broken Link@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/11_Broken Link.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "11_Broken Link@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/12_Article Not Found.imageset/12_Article Not Found@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/12_Article Not Found.imageset/12_Article Not Found@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/12_Article Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "12_Article Not Found@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/13_Storage Not Enough.imageset/13_Storage Not Enough@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/13_Storage Not Enough.imageset/13_Storage Not Enough@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/13_Storage Not Enough.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "13_Storage Not Enough@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/14_No Search Results.imageset/14_No Search Results@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/14_No Search Results.imageset/14_No Search Results@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/14_No Search Results.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "14_No Search Results@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/15_Payment Error.imageset/15_Payment Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/15_Payment Error.imageset/15_Payment Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/15_Payment Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "15_Payment Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/16_Time Error.imageset/16_Time Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/16_Time Error.imageset/16_Time Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/16_Time Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "16_Time Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/17_Location Error.imageset/17_Location Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/17_Location Error.imageset/17_Location Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/17_Location Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "17_Location Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/18_Router Offline.imageset/18_Router Offline@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/18_Router Offline.imageset/18_Router Offline@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/18_Router Offline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "18_Router Offline@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/19_Error.imageset/19_Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/19_Error.imageset/19_Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/19_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "19_Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/1_No Connection.imageset/1_No Connection@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/1_No Connection.imageset/1_No Connection@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/1_No Connection.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "1_No Connection@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/20_File Not Found.imageset/20_File Not Found@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/20_File Not Found.imageset/20_File Not Found@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/20_File Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "20_File Not Found@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/21_No Camera Access.imageset/21_No Camera Access@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/21_No Camera Access.imageset/21_No Camera Access@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/21_No Camera Access.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "21_No Camera Access@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/2_404 Error.imageset/2_404 Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/2_404 Error.imageset/2_404 Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/2_404 Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "2_404 Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/3_Something Went Wrong.imageset/3_Something Went Wrong@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/3_Something Went Wrong.imageset/3_Something Went Wrong@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/3_Something Went Wrong.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "3_Something Went Wrong@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/4_File Not Found.imageset/4_File Not Found@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/4_File Not Found.imageset/4_File Not Found@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/4_File Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "4_File Not Found@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/5_Something Wrong.imageset/5_Something Wrong@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/5_Something Wrong.imageset/5_Something Wrong@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/5_Something Wrong.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "5_Something Wrong@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/6_Error.imageset/6_Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/6_Error.imageset/6_Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/6_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "6_Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/7_Error.imageset/7_Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/7_Error.imageset/7_Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/7_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "7_Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/8_404 Error.imageset/8_404 Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/8_404 Error.imageset/8_404 Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/8_404 Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "8_404 Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/9_Location Error.imageset/9_Location Error@2x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abuanwar072/20-Error-Pages-SwiftUI/44fc7c4d89f63aaf1ab9f1eb841d89911387a513/Error_Pages/Assets.xcassets/bg/9_Location Error.imageset/9_Location Error@2x.pdf -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/9_Location Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "9_Location Error@2x.pdf", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/bg/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/10_Connection Lost.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "10_Connection Lost@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/11_Broken Link.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "11_Broken Link@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/12_Article Not Found.imageset/12_Article Not Found@2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12_Article Not Found@2x 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/12_Article Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "12_Article Not Found@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/13_Storage Not Enough.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "13_Storage Not Enough@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/14_No Search Results.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "14_No Search Results@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/15_Payment Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "15_Payment Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/16_Time Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "16_Time Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/17_Location Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "17_Location Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/18_Router Offline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "18_Router Offline@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/19_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "19_Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/1_No Connection.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "1_No Connection@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/20_File Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "20_File Not Found@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/21_No Camera Access.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "21_No Camera Access@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/2_404 Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "2_404 Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/3_Something Went Wrong.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "3_Something Went Wrong@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/4_File Not Found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "4_File Not Found@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/5_Something Wrong.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "5_Something Wrong@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/6_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "6_Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/7_Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "7_Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/8_404 Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "8_404 Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/9_Location Error.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "9_Location Error@2x.svg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Error_Pages/Assets.xcassets/images/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Error_Pages/BrokenLink.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BrokenLink.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct BrokenLink: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "11_Broken Link")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Broken Link!") 19 | .foregroundColor(.white) 20 | .font(.title) 21 | 22 | Text("Something went wrong, please try again later") 23 | .foregroundColor(.white) 24 | .multilineTextAlignment(.center) 25 | .opacity(0.7) 26 | 27 | Button(action: { 28 | 29 | }) { 30 | Text("Retry".uppercased()) 31 | .fontWeight(.semibold) 32 | .foregroundColor(.black) 33 | .padding(.vertical) 34 | .padding(.horizontal, 30) 35 | .background(Capsule().foregroundColor(.white)) 36 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 37 | 38 | } 39 | 40 | } 41 | .padding(.horizontal, 70) 42 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 43 | } 44 | } 45 | } 46 | 47 | struct BrokenLink_Previews: PreviewProvider { 48 | static var previews: some View { 49 | BrokenLink() 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Error_Pages/CameraAccess.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CameraAccess.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct CameraAccess: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "21_No Camera Access")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Camera Access") 19 | .font(.title) 20 | 21 | Text("Please allow access to your \ncamera to take photos") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Allow".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 40) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.9294117647, green: 0.4470588235, blue: 0.6784313725, alpha: 1)))) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct CameraAccess_Previews: PreviewProvider { 46 | static var previews: some View { 47 | CameraAccess() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/ConnectionFailed.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ConnectionFailed.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ConnectionFailed: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "19_Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Connection Failed") 19 | .font(.title) 20 | 21 | Text("Could not connect to the network, \nPlease check and try again.") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Retry".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 40) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.4078431373, green: 0.7725490196, blue: 0.5058823529, alpha: 1)))) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct ConnectionFailed_Previews: PreviewProvider { 46 | static var previews: some View { 47 | ConnectionFailed() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 10/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | @State private var search: String = ""; 12 | var body: some View { 13 | 14 | VStack { 15 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 16 | Image(uiImage: #imageLiteral(resourceName: "14_No Search Results")) 17 | .resizable() 18 | .aspectRatio(contentMode: .fill) 19 | .edgesIgnoringSafeArea(.all) 20 | VStack (alignment: .leading, spacing: 30) { 21 | Text("No Results") 22 | .foregroundColor(.white) 23 | .font(.largeTitle) 24 | .foregroundColor(.white) 25 | 26 | Text("Sorry, there are no results for \nthis search, Please try another phrase...") 27 | .fontWeight(.semibold) 28 | .foregroundColor(.white) 29 | .opacity(0.7) 30 | 31 | TextField("Search...", text: $search) 32 | .padding() 33 | .background(Color.white) 34 | .cornerRadius(50) 35 | 36 | } 37 | .padding(.horizontal, 70) 38 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 39 | } 40 | } 41 | } 42 | } 43 | 44 | struct ContentView_Previews: PreviewProvider { 45 | static var previews: some View { 46 | ContentView() 47 | } 48 | } 49 | 50 | 51 | -------------------------------------------------------------------------------- /Error_Pages/Error.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Error.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct Error: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "7_Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Error!") 19 | .font(.title) 20 | 21 | Text("Something went wrong, \nPlease try again later") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Retry".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.black) 31 | .padding(.vertical) 32 | .padding(.horizontal, 30) 33 | .background(Capsule().foregroundColor(.white)) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct Error_Previews: PreviewProvider { 46 | static var previews: some View { 47 | Error() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/Error404.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Error404.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct Error404: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "2_404 Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Page Not Found") 19 | .font(.title) 20 | 21 | Text("The page you are looking for doesn’t seem to exist…") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Go Home".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 30) 33 | .background(Capsule().foregroundColor(.blue)) 34 | } 35 | } 36 | .padding(.horizontal, 70) 37 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 38 | } 39 | } 40 | } 41 | 42 | struct Error404_Previews: PreviewProvider { 43 | static var previews: some View { 44 | Error404() 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Error_Pages/ErrorFood.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ErrorFood.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ErrorFood: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "6_Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Oops!..") 19 | .font(.largeTitle) 20 | .foregroundColor(.white) 21 | 22 | Text("Something is wrong here… \nWe’ll fix it soon!") 23 | .fontWeight(.semibold) 24 | .foregroundColor(.white) 25 | .opacity(0.7) 26 | 27 | Button(action: { 28 | 29 | }) { 30 | Text("Home".uppercased()) 31 | .fontWeight(.semibold) 32 | .foregroundColor(.black) 33 | .padding(.vertical) 34 | .padding(.horizontal, 30) 35 | .background(Capsule().foregroundColor(.white)) 36 | } 37 | } 38 | .padding(.horizontal, 70) 39 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 40 | } 41 | } 42 | } 43 | 44 | struct ErrorFood_Previews: PreviewProvider { 45 | static var previews: some View { 46 | ErrorFood() 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Error_Pages/ErrorScreen404.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ErrorScreen404.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ErrorScreen404: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "8_404 Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Dead End") 19 | .font(.largeTitle) 20 | .foregroundColor(.white) 21 | 22 | Text("Opps! Tha page you are looking \nfor doesn’t exist...") 23 | .fontWeight(.semibold) 24 | .foregroundColor(.white) 25 | .opacity(0.7) 26 | 27 | Button(action: { 28 | 29 | }) { 30 | Text("Home".uppercased()) 31 | .fontWeight(.semibold) 32 | .foregroundColor(.black) 33 | .padding(.vertical) 34 | .padding(.horizontal, 30) 35 | .background(Capsule().foregroundColor(.white)) 36 | } 37 | } 38 | .padding(.horizontal, 70) 39 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 40 | } 41 | } 42 | } 43 | 44 | struct ErrorScreen404_Previews: PreviewProvider { 45 | static var previews: some View { 46 | ErrorScreen404() 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Error_Pages/Error_PagesApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Error_PagesApp.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 10/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct Error_PagesApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Error_Pages/FIleNotFound2.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FIleNotFound2.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct FIleNotFound2: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "20_File Not Found")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("No Files") 19 | .foregroundColor(.white) 20 | .font(.title) 21 | .foregroundColor(.white) 22 | 23 | Text("Opps! The file you are looking for cannot be found....") 24 | .fontWeight(.semibold) 25 | .foregroundColor(.white) 26 | .opacity(0.7) 27 | 28 | Button(action: { 29 | 30 | }) { 31 | Text("Home".uppercased()) 32 | .fontWeight(.semibold) 33 | .foregroundColor(.black) 34 | .padding(.vertical) 35 | .padding(.horizontal, 30) 36 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)))) 37 | } 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct FIleNotFound2_Previews: PreviewProvider { 46 | static var previews: some View { 47 | FIleNotFound2() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/FileNotFound.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FileNotFound.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct FileNotFound: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "4_File Not Found")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Oops!..") 19 | .font(.largeTitle) 20 | .foregroundColor(.white) 21 | 22 | Text("Looks like the file you are looking for is missing....") 23 | .fontWeight(.semibold) 24 | .foregroundColor(.white) 25 | .opacity(0.7) 26 | 27 | Button(action: { 28 | 29 | }) { 30 | Text("Home".uppercased()) 31 | .fontWeight(.semibold) 32 | .foregroundColor(.black) 33 | .padding(.vertical) 34 | .padding(.horizontal, 30) 35 | .background(Capsule().foregroundColor(.white)) 36 | } 37 | } 38 | .padding(.horizontal, 70) 39 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 40 | } 41 | } 42 | } 43 | 44 | struct FileNotFound_Previews: PreviewProvider { 45 | static var previews: some View { 46 | FileNotFound() 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Error_Pages/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 | 28 | UIApplicationSupportsIndirectInputEvents 29 | 30 | UILaunchScreen 31 | 32 | UIRequiredDeviceCapabilities 33 | 34 | armv7 35 | 36 | UISupportedInterfaceOrientations 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UISupportedInterfaceOrientations~ipad 43 | 44 | UIInterfaceOrientationPortrait 45 | UIInterfaceOrientationPortraitUpsideDown 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Error_Pages/LocationAccess.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LocationAccess.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct LocationAccess: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "9_Location Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Location Access!") 19 | .font(.title) 20 | 21 | Text("Please enable location access \nto use this feature") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Enable".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 30) 33 | .background(LinearGradient(gradient: Gradient(colors: [Color(#colorLiteral(red: 1, green: 0.5960784314, blue: 0.3450980392, alpha: 1)), Color(#colorLiteral(red: 1, green: 0.7882352941, blue: 0.568627451, alpha: 1))]), startPoint: .topLeading, endPoint: .bottomTrailing)) 34 | .cornerRadius(50) 35 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 36 | 37 | } 38 | 39 | } 40 | .padding(.horizontal, 70) 41 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 42 | } 43 | } 44 | } 45 | 46 | struct LocationAccess_Previews: PreviewProvider { 47 | static var previews: some View { 48 | LocationAccess() 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Error_Pages/LocationError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LocationError.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct LocationError: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "17_Location Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Hang on a sec...") 19 | .foregroundColor(.white) 20 | .font(.title) 21 | .foregroundColor(.white) 22 | 23 | Text("It seems you are in the middle of \nthe ocean.") 24 | .fontWeight(.semibold) 25 | .foregroundColor(.white) 26 | .opacity(0.7) 27 | 28 | Button(action: { 29 | 30 | }) { 31 | Text("Refresh".uppercased()) 32 | .fontWeight(.semibold) 33 | .foregroundColor(.black) 34 | .padding(.vertical) 35 | .padding(.horizontal, 30) 36 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)))) 37 | } 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct LocationError_Previews: PreviewProvider { 46 | static var previews: some View { 47 | LocationError() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/MissingArticle.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MissingArticle.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct MissingArticle: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "12_Article Not Found")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Missing Article") 19 | .font(.title) 20 | 21 | Text("Article you are looking for \nis not available") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Back".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 40) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.4392156863, green: 0.8274509804, blue: 0.8549019608, alpha: 1)))) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct MissingArticle_Previews: PreviewProvider { 46 | static var previews: some View { 47 | MissingArticle() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/NoConnection.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NoConnection.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct NoConnection: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "1_No Connection")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Oops!..") 19 | .font(.largeTitle) 20 | .foregroundColor(.white) 21 | 22 | Text("Something wrong with your \nconnection, Please try \nagain.") 23 | .fontWeight(.semibold) 24 | .foregroundColor(.white) 25 | .opacity(0.7) 26 | 27 | Button(action: { 28 | 29 | }) { 30 | Text("Retry".uppercased()) 31 | .fontWeight(.semibold) 32 | .foregroundColor(.black) 33 | .padding(.vertical) 34 | .padding(.horizontal, 30) 35 | .background(Capsule().foregroundColor(.white)) 36 | } 37 | } 38 | .padding(.horizontal, 70) 39 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 40 | } 41 | } 42 | } 43 | 44 | struct NoConnection_Previews: PreviewProvider { 45 | static var previews: some View { 46 | NoConnection() 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Error_Pages/NoSearchResult.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NoSearchResult.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct NoSearchResult: View { 11 | @State private var search: String = ""; 12 | var body: some View { 13 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 14 | Image(uiImage: #imageLiteral(resourceName: "14_No Search Results")) 15 | .resizable() 16 | .aspectRatio(contentMode: .fill) 17 | .edgesIgnoringSafeArea(.all) 18 | VStack (alignment: .leading, spacing: 30) { 19 | Text("No Results") 20 | .foregroundColor(.white) 21 | .font(.largeTitle) 22 | .foregroundColor(.white) 23 | 24 | Text("Sorry, there are no results for \nthis search, Please try another phrase...") 25 | .fontWeight(.semibold) 26 | .foregroundColor(.white) 27 | .opacity(0.7) 28 | 29 | TextField("Search...", text: $search) 30 | .padding() 31 | .background(Color.white) 32 | .cornerRadius(50) 33 | 34 | } 35 | .padding(.horizontal, 70) 36 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 37 | } 38 | } 39 | } 40 | 41 | struct NoSearchResult_Previews: PreviewProvider { 42 | static var previews: some View { 43 | NoSearchResult() 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Error_Pages/PaymentFailed.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PaymentFailed.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct PaymentFailed: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "15_Payment Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Payment Failed") 19 | .font(.title) 20 | 21 | Text("Your card was rejected by the vendor. Please try again") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Back".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 40) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 1, green: 0.4352941176, blue: 0.4352941176, alpha: 1)))) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct PaymentFailed_Previews: PreviewProvider { 46 | static var previews: some View { 47 | PaymentFailed() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Error_Pages/RouterOffline.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RouterOffline.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct RouterOffline: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "18_Router Offline")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Router Offline") 19 | .font(.title) 20 | 21 | Text("No internet connection, please try restarting your router...") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Retry".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.black) 31 | .padding(.vertical) 32 | .padding(.horizontal, 40) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.9999960065, green: 1, blue: 1, alpha: 1)))) 34 | .shadow( color: Color(#colorLiteral(red: 0.337254902, green: 0.4, blue: 0.7607843137, alpha: 0.17)), radius: 25, x: 0, y: 13) 35 | 36 | } 37 | 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct RouterOffline_Previews: PreviewProvider { 46 | static var previews: some View { 47 | RouterOffline() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/SomethingWentWrong.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SomethingWentWrong.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct SomethingWentWrong: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "3_Something Went Wrong")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("oh no!") 19 | .font(.title) 20 | 21 | Text("Someting went wrong. \nPlease try again.") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Try Again".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 30) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.4392156863, green: 0.8549019608, blue: 0.6784313725, alpha: 1)))) 34 | } 35 | } 36 | .padding(.horizontal, 70) 37 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 38 | } 39 | } 40 | } 41 | 42 | struct SomethingWentWrong_Previews: PreviewProvider { 43 | static var previews: some View { 44 | SomethingWentWrong() 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Error_Pages/SomethingWrong.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SomethingWrong.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 11/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct SomethingWrong: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .center, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "5_Something Wrong")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .center, spacing: 30) { 18 | Text("Oh oh!") 19 | .font(.title) 20 | 21 | Text("The file you are looking for \nis not here...") 22 | .multilineTextAlignment(.center) 23 | .opacity(0.7) 24 | 25 | Button(action: { 26 | 27 | }) { 28 | Text("Go Back".uppercased()) 29 | .fontWeight(.semibold) 30 | .foregroundColor(.white) 31 | .padding(.vertical) 32 | .padding(.horizontal, 30) 33 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.4392156863, green: 0.4392156863, blue: 0.8549019608, alpha: 1)))) 34 | } 35 | } 36 | .padding(.horizontal, 70) 37 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 38 | } 39 | } 40 | } 41 | 42 | struct SomethingWrong_Previews: PreviewProvider { 43 | static var previews: some View { 44 | SomethingWrong() 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Error_Pages/StorageNotEnough.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StorageNotEnough.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct StorageNotEnough: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "13_Storage Not Enough")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Not Enough Space") 19 | .foregroundColor(.black) 20 | .font(.largeTitle) 21 | .foregroundColor(.white) 22 | 23 | Text("You do not have enough storage \nleft to save this file...") 24 | .fontWeight(.semibold) 25 | .foregroundColor(.black) 26 | .opacity(0.7) 27 | 28 | Button(action: { 29 | 30 | }) { 31 | Text("manage".uppercased()) 32 | .fontWeight(.semibold) 33 | .foregroundColor(.white) 34 | .padding(.vertical) 35 | .padding(.horizontal, 30) 36 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.3882352941, green: 0.4431372549, blue: 0.6666666667, alpha: 1)))) 37 | } 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct StorageNotEnough_Previews: PreviewProvider { 46 | static var previews: some View { 47 | StorageNotEnough() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_Pages/TimeError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TimeError.swift 3 | // Error_Pages 4 | // 5 | // Created by Abu Anwar MD Abdullah on 12/1/21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct TimeError: View { 11 | var body: some View { 12 | ZStack (alignment: Alignment(horizontal: .leading, vertical: .bottom)) { 13 | Image(uiImage: #imageLiteral(resourceName: "16_Time Error")) 14 | .resizable() 15 | .aspectRatio(contentMode: .fill) 16 | .edgesIgnoringSafeArea(.all) 17 | VStack (alignment: .leading, spacing: 30) { 18 | Text("Something Not Right...") 19 | .foregroundColor(.black) 20 | .font(.title) 21 | .foregroundColor(.white) 22 | 23 | Text("Please check the status of your \ndevice and retry") 24 | .fontWeight(.semibold) 25 | .foregroundColor(.black) 26 | .opacity(0.7) 27 | 28 | Button(action: { 29 | 30 | }) { 31 | Text("Retry".uppercased()) 32 | .fontWeight(.semibold) 33 | .foregroundColor(.white) 34 | .padding(.vertical) 35 | .padding(.horizontal, 30) 36 | .background(Capsule().foregroundColor(Color(#colorLiteral(red: 0.3882352941, green: 0.4431372549, blue: 0.6666666667, alpha: 1)))) 37 | } 38 | } 39 | .padding(.horizontal, 70) 40 | .padding(.bottom, UIScreen.main.bounds.height * 0.1) 41 | } 42 | } 43 | } 44 | 45 | struct TimeError_Previews: PreviewProvider { 46 | static var previews: some View { 47 | TimeError() 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Error_PagesTests/Error_PagesTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Error_PagesTests.swift 3 | // Error_PagesTests 4 | // 5 | // Created by Abu Anwar MD Abdullah on 10/1/21. 6 | // 7 | 8 | import XCTest 9 | @testable import Error_Pages 10 | 11 | class Error_PagesTests: XCTestCase { 12 | 13 | override func setUpWithError() throws { 14 | // Put setup code here. This method is called before the invocation of each test method in the class. 15 | } 16 | 17 | override func tearDownWithError() throws { 18 | // Put teardown code here. This method is called after the invocation of each test method in the class. 19 | } 20 | 21 | func testExample() throws { 22 | // This is an example of a functional test case. 23 | // Use XCTAssert and related functions to verify your tests produce the correct results. 24 | } 25 | 26 | func testPerformanceExample() throws { 27 | // This is an example of a performance test case. 28 | self.measure { 29 | // Put the code you want to measure the time of here. 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /Error_PagesTests/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 | 22 | 23 | -------------------------------------------------------------------------------- /Error_PagesUITests/Error_PagesUITests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Error_PagesUITests.swift 3 | // Error_PagesUITests 4 | // 5 | // Created by Abu Anwar MD Abdullah on 10/1/21. 6 | // 7 | 8 | import XCTest 9 | 10 | class Error_PagesUITests: XCTestCase { 11 | 12 | override func setUpWithError() throws { 13 | // Put setup code here. This method is called before the invocation of each test method in the class. 14 | 15 | // In UI tests it is usually best to stop immediately when a failure occurs. 16 | continueAfterFailure = false 17 | 18 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 19 | } 20 | 21 | override func tearDownWithError() throws { 22 | // Put teardown code here. This method is called after the invocation of each test method in the class. 23 | } 24 | 25 | func testExample() throws { 26 | // UI tests must launch the application that they test. 27 | let app = XCUIApplication() 28 | app.launch() 29 | 30 | // Use recording to get started writing UI tests. 31 | // Use XCTAssert and related functions to verify your tests produce the correct results. 32 | } 33 | 34 | func testLaunchPerformance() throws { 35 | if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) { 36 | // This measures how long it takes to launch your application. 37 | measure(metrics: [XCTApplicationLaunchMetric()]) { 38 | XCUIApplication().launch() 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Error_PagesUITests/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 | 22 | 23 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # 20+ Error Pages for iOS App - SwiftUI 2 | 3 | ## [Watch it on YouTube](https://youtu.be/fWMte1ZUyC4) 4 | 5 | 6 | We design 21 error pages for your app by using SwiftUI. It contains almost all error pages like 404 page not found, No internet connection, File not found, also contain location access or camera access custom screen which provide you better user experience. 7 | 8 | 9 | ![Preview](/gif.gif) 10 | 11 | --------------------------------------------------------------------------------