From 24a357b513e8b65c9434fd5522d0ff3f6b61a07c Mon Sep 17 00:00:00 2001 From: dahun-lee-daji <68788135+dahun-lee-daji@users.noreply.github.com> Date: Mon, 19 Apr 2021 15:21:27 +0900 Subject: [PATCH 01/32] Docs: Modify ReadMe.md (#none) --- README.md | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c04306379..a05e4e73d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,38 @@ -# sidedish -그룹프로젝트 #2 +# 팀원 구성 +|팀원|소속|자기소개| +|------|---|---| +|마르코🦝|BE|지브리 신작에 실망한 🥶| +|Bibi🤑|BE|현질에 맛을 느낀 😫| +|Hong🐶|iOS|현업 강아지 똥치우기💩| +|Downey🤖|iOS|모코코 캐는중🌱| + +# 팀 규칙 +## 스크럼 방식 +10:00 ~ 10:30 Zoom 그룹 내에서 근황 공유 간단 스크럼😁 +10:30 ~ 11:00 팀 내에서 자신의 진행 상황, 어려운 점 공유 및 오늘의 진행 할 내용 공유! 🤗 + +## 회의 시간 +필요할 때 gather에서 회의 소집☠️ + +## 참여 시간 +11:00 ~ 18:00 까지 팀 단위 모각코😇😈 + +## 코딩 스타일 + +### iOS +TDD 지향 : 각 함수의 Unit Test가 가능하도록 개발.😎 +iOS UI 개발 방식 : Storyboard 위주 개발.😵 +재사용 성을 최대한 고려한 개발.🤪 + +### BackEnd + +## 할일 정리 +1. 기획서 내용 분석 +2. Epic - Story - Task 만들기 +3. Task에 따른 Issue 발행 +4. Issue에 따른 Branch 생성 +5. 작업 완료 시 개발 브랜치에 PR +6. 리뷰어 : 같은 팀원, Label, Proj, MileStone 지정. +7. Issue에 PR Link +8. PR Merge +9. Issue Close 💩 From 731eb5791580c27bc397513fbd49ff1e2d63ab74 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Tue, 20 Apr 2021 00:57:57 +0900 Subject: [PATCH 02/32] =?UTF-8?q?feat:=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=85=8B=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SideDishApp/Info.plist | 66 +++ .../SideDishApp.xcodeproj/project.pbxproj | 456 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 14311 bytes .../xcschemes/xcschememanagement.plist | 14 + .../SideDishApp/Application/AppDelegate.swift | 36 ++ .../Application/SceneDelegate.swift | 52 ++ .../UI/View/Base.lproj/Main.storyboard | 24 + .../UI/ViewController/ViewController.swift | 19 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 ++++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + 14 files changed, 822 insertions(+) create mode 100644 SideDishApp/Info.plist create mode 100644 SideDishApp/SideDishApp.xcodeproj/project.pbxproj create mode 100644 SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SideDishApp/SideDishApp/Application/AppDelegate.swift create mode 100644 SideDishApp/SideDishApp/Application/SceneDelegate.swift create mode 100644 SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard create mode 100644 SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift create mode 100644 SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 SideDishApp/SupportingFiles/Assets.xcassets/Contents.json create mode 100644 SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard diff --git a/SideDishApp/Info.plist b/SideDishApp/Info.plist new file mode 100644 index 000000000..5b531f7b2 --- /dev/null +++ b/SideDishApp/Info.plist @@ -0,0 +1,66 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj new file mode 100644 index 000000000..7926ca03d --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -0,0 +1,456 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD1262DDDFC0050FE6C /* AppDelegate.swift */; }; + 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD3262DDDFC0050FE6C /* SceneDelegate.swift */; }; + 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */; }; + 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; + 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; + 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SideDishApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1E1DBAD1262DDDFC0050FE6C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 1E1DBAD3262DDDFC0050FE6C /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 1E1DBAD8262DDDFC0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1E1DBACB262DDDFC0050FE6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1E1DBAC5262DDDFC0050FE6C = { + isa = PBXGroup; + children = ( + 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */, + 1E1DBAF3262DDF020050FE6C /* SupportingFiles */, + 1E1DBADF262DDDFD0050FE6C /* Info.plist */, + 1E1DBACF262DDDFC0050FE6C /* Products */, + ); + sourceTree = ""; + }; + 1E1DBACF262DDDFC0050FE6C /* Products */ = { + isa = PBXGroup; + children = ( + 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */, + ); + name = Products; + sourceTree = ""; + }; + 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */ = { + isa = PBXGroup; + children = ( + 1E1DBAF2262DDEE50050FE6C /* Application */, + 1E1DBAEF262DDE990050FE6C /* Domain */, + 1E1DBAE9262DDE0C0050FE6C /* Presentation */, + 1E1DBAE8262DDE0A0050FE6C /* Data */, + ); + path = SideDishApp; + sourceTree = ""; + }; + 1E1DBAE6262DDE040050FE6C /* Persistence */ = { + isa = PBXGroup; + children = ( + ); + path = Persistence; + sourceTree = ""; + }; + 1E1DBAE7262DDE070050FE6C /* Network */ = { + isa = PBXGroup; + children = ( + ); + path = Network; + sourceTree = ""; + }; + 1E1DBAE8262DDE0A0050FE6C /* Data */ = { + isa = PBXGroup; + children = ( + 1E1DBAE6262DDE040050FE6C /* Persistence */, + 1E1DBAE7262DDE070050FE6C /* Network */, + 1E1DBAEB262DDE4B0050FE6C /* Repository */, + ); + path = Data; + sourceTree = ""; + }; + 1E1DBAE9262DDE0C0050FE6C /* Presentation */ = { + isa = PBXGroup; + children = ( + 1E1DBAEA262DDE0F0050FE6C /* UI */, + 1E1DBAEE262DDE710050FE6C /* ViewModel */, + ); + path = Presentation; + sourceTree = ""; + }; + 1E1DBAEA262DDE0F0050FE6C /* UI */ = { + isa = PBXGroup; + children = ( + 1E1DBAEC262DDE5F0050FE6C /* View */, + 1E1DBAED262DDE640050FE6C /* ViewController */, + ); + path = UI; + sourceTree = ""; + }; + 1E1DBAEB262DDE4B0050FE6C /* Repository */ = { + isa = PBXGroup; + children = ( + ); + path = Repository; + sourceTree = ""; + }; + 1E1DBAEC262DDE5F0050FE6C /* View */ = { + isa = PBXGroup; + children = ( + 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */, + ); + path = View; + sourceTree = ""; + }; + 1E1DBAED262DDE640050FE6C /* ViewController */ = { + isa = PBXGroup; + children = ( + 1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */, + ); + path = ViewController; + sourceTree = ""; + }; + 1E1DBAEE262DDE710050FE6C /* ViewModel */ = { + isa = PBXGroup; + children = ( + ); + path = ViewModel; + sourceTree = ""; + }; + 1E1DBAEF262DDE990050FE6C /* Domain */ = { + isa = PBXGroup; + children = ( + 1E1DBAF1262DDEA80050FE6C /* Entity */, + 1E1DBAF0262DDEA20050FE6C /* UseCase */, + ); + path = Domain; + sourceTree = ""; + }; + 1E1DBAF0262DDEA20050FE6C /* UseCase */ = { + isa = PBXGroup; + children = ( + ); + path = UseCase; + sourceTree = ""; + }; + 1E1DBAF1262DDEA80050FE6C /* Entity */ = { + isa = PBXGroup; + children = ( + ); + path = Entity; + sourceTree = ""; + }; + 1E1DBAF2262DDEE50050FE6C /* Application */ = { + isa = PBXGroup; + children = ( + 1E1DBAD1262DDDFC0050FE6C /* AppDelegate.swift */, + 1E1DBAD3262DDDFC0050FE6C /* SceneDelegate.swift */, + ); + path = Application; + sourceTree = ""; + }; + 1E1DBAF3262DDF020050FE6C /* SupportingFiles */ = { + isa = PBXGroup; + children = ( + 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */, + 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */, + ); + path = SupportingFiles; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1E1DBACD262DDDFC0050FE6C /* SideDishApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1E1DBAE2262DDDFD0050FE6C /* Build configuration list for PBXNativeTarget "SideDishApp" */; + buildPhases = ( + 1E1DBACA262DDDFC0050FE6C /* Sources */, + 1E1DBACB262DDDFC0050FE6C /* Frameworks */, + 1E1DBACC262DDDFC0050FE6C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SideDishApp; + productName = SideDishApp; + productReference = 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 1E1DBAC6262DDDFC0050FE6C /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1230; + LastUpgradeCheck = 1230; + TargetAttributes = { + 1E1DBACD262DDDFC0050FE6C = { + CreatedOnToolsVersion = 12.3; + }; + }; + }; + buildConfigurationList = 1E1DBAC9262DDDFC0050FE6C /* Build configuration list for PBXProject "SideDishApp" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 1E1DBAC5262DDDFC0050FE6C; + productRefGroup = 1E1DBACF262DDDFC0050FE6C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1E1DBACD262DDDFC0050FE6C /* SideDishApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1E1DBACC262DDDFC0050FE6C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */, + 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */, + 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1E1DBACA262DDDFC0050FE6C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, + 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, + 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1E1DBAD8262DDDFC0050FE6C /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1E1DBADD262DDDFD0050FE6C /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1E1DBAE0262DDDFD0050FE6C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 1E1DBAE1262DDDFD0050FE6C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 1E1DBAE3262DDDFD0050FE6C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = SideDishApp/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = HongzCloud.SideDishApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1E1DBAE4262DDDFD0050FE6C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = SideDishApp/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = HongzCloud.SideDishApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1E1DBAC9262DDDFC0050FE6C /* Build configuration list for PBXProject "SideDishApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1E1DBAE0262DDDFD0050FE6C /* Debug */, + 1E1DBAE1262DDDFD0050FE6C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1E1DBAE2262DDDFD0050FE6C /* Build configuration list for PBXNativeTarget "SideDishApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1E1DBAE3262DDDFD0050FE6C /* Debug */, + 1E1DBAE4262DDDFD0050FE6C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 1E1DBAC6262DDDFC0050FE6C /* Project object */; +} diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..57b716c2ac869ff312e106eb8f17199c9002e5b9 GIT binary patch literal 14311 zcmdsdd3aOR*7qKgGB!PFnx;vbw9qu2GISn5hPI(lp`~_Wrljei#I{LDQYe$|I4cUG zauK;IZJ9-JxL3I<4mb-c7H0*gtAdI%I9!K!opYKtMc(`Iz0ZB#=X*Z>pgH^Oz4kh5 zui>}WUd_ICcOaOZ{TjlEAc|y2j-t>oG;+3S8Sf9cy`DKHr{A^24Nvu^pw~CsiSb^ay$s9YBwv$I%n$NpuiBg`P&wpl8u@=q2nS9b5;G|z zMWmRNka1)@xqwU{6G<53Gx}ANPZ$elV8Zc$gdPpOyx9+j;0({Qaw$i25O{ZX*$iIIW(8%(R^A!$I?U!;fVVfqq%nZ81g&{t_6JxX7ruhTc^oAfREHhqU4r~jlU=obwpPiK4kQ5207 zCWrsU=|adDN7DYLx(wt&y+;vHUBX9w>IhBwxs zu_$vV(xXIVKt_~=lF=9@XHjez8_q_sk!;jXl!8ns6`5gDI!a}u*^_K4I|!5F;IFxf zn;1#I-q~F4^#uLi_IBRiR8pK*URY9)Yt1RitFY#mSL9jC%8ClD71?EZB^AZR`8l}- z3x(xwPm6bXh2Po1H*w~H0U%c9^v`kz8r=bRb2~rF9b8i9_O!P1@TQ4NkK9-y(NtYm z%Ljs9zZ0g5*6eTwolRU4Of7WgVA*lrXCy=x%oh-F#q{yCt|pnpWuv_`th){e#m6Rz^${ zHW*mG0BB8VarZA85&o7cbP>wzMb&5~s$ua=!xDN?Ej-pUEj*?Pye7|fd0TiJte@@< z+6FeV4agQ4t>fE)A--kcE%@B2es8BwdI26f5Z-YvYC@UY&^$CBEkFyIj_Fw zs2oZs%+JNB4aINW%98q!2YHbXEuAZwp$GJHw)B$^%&)F0lo!HgI^eM z3AS3}4S-5{JqrT;$5shz0{b{!ltPt|m~2Y7Wak%+pIA0^dUb8%+=b1&yS;DN@Db7V zK4);r9I#%#Yns~=>>W93^t?KE3-53TmX!K@k-zH&OXNsj45y4e7bAR^&*>2&x5#Q< z=~MAvTOQxv#9`PdPSdL%6(30rw5hJs=kxl5;1A$H`2dIdv^xFylD;urZUw>yO|NlO zQY7Jdz;?UaC5p6f%-EFkCAjPMcanf$YHY80R9Ym#Mu)e<>Gt$xWM-W&t=(z&js{xR z*k0QxdnB#-H4z8imy?^PIZsJ0sr>yCpjZ&yTR4w)kL&9*8a z97(rtX3a(CE2wQH`uBlKoo0JIP-%!HQ!nt=H*5Bs^W|vAl26wGt$7Q2=MOatj`lSz za-J`l?u`4JfQ(Di-4e-8-{RIK=lfNmIa||!#KoGPwoyZ9ba=eyOXD`X@m0|(ch5NP z=^iThZ+RfVZKC z0PenmUPW)9chINkC-e)z+E_dWV5|UQC*kP;T3y(WS78P~^+vo2{}u1Uj{zJ#jE~^= z@Jaj?Ku`{Vr;&^$Hj+mwNCR0&T%?r*NEcZP@UfTdBKH7fJOFU-NwC0Oei>$o3upwo@`Bi;*SB468TVp0fI8_ju0mHgajNRNs?MOm@L(wHMOO*IFdXQvMQc%J zH@c3cccW?m5D>&u&kY|$bYQCs`a500PCuVA**94fU6|4abhAL|CYIHWZebRI(wNQw z?+2f_nD_hnmU4(^tzQ3%DP2Kcj3kwgK%WS&Z$+E8GONV+7WCJJ18kT2{mvD=XbUK$ zAK+P*Bi`CN8&(U+nesRn9JVhkGSo?(Oh7{qBI*BjTI}kU&2?mcX2ZevfzIT9=#~2(F<%sH#)>73TmVTV;K;*h}=uZ48ZV| z$?io%H2!1s*`Ibg0jb#MtOC?!ngAMOM4?DJBM4-8%H;V^h(tKl#KlTy-86$=9IW@& zx?7h7IVdfBkA471c^V1|XW-+j>jsW_2JdMVQ;LYOMrV5`&tX<2na@w?=Xnutd%$V? zBL~7#`W5|#G66)J=g#!;o=Oj-TY=Xx#stM+ie*@iqwp|19PI-H6HZEJcqQDma8P=Z z^1%!NLk$i$LB1yF=FG+6wS(_i3#(>^g##MuX2jij64sf6>D$PMNz15QUgcRU)$ z?ZnYofnzX-l@O9ttd2FZ*=#PG&zhK%xsKv^tbs2{K>M(6?%>`HB3G;)Y`OtbkSbu> zCZwY)n!QecOLBUdGr(tvg2V=FY~m8(_y)Z`upziw$>`kv9-Jij{(n0s%*Ysl5jIQO zH|DH;!;{S7q&dPQQ3u20S>pISVH_}6cr+X50LcYxA!`_dJ2?`bQ7EokB&>@>72((8 z#n;Vezn1jqc09R9@VZBF8OX65JMa`-F|Vb+Jkd})V@}ZB0ja#R!^e2Gn1ME53i%vA z&Th90J}+SRE@=a4*&TeK4GMhr4#;d^xJgJ&14}!dE%t!Bg>QjG#2%564EY_2rtJ-t zcEK*~!V%fpeSYu7_Orw&om(Zo5PT6>aai-hTHAxC3&(Y?SJKKVTrCwXhUntp@elQj zJ$R--PAGDm*L+EJFG8EUaV>KXxGUU%=R$Uk8}TeW8*O73vo_Yw^0wi5cs^c$_OT9j z6}ubGNbrM_=LJ)RvP-`=R!L*iz~_S+!=S4zFi)_d>26O8B;Wn^j$7~&C>vlNFUGCR z!@SJbi`@|N_OYcvTqGYW_<+(tKPl1Ag7Jq#54;pLAAFi)1!UT8S9nDFvZXk#8~d4` zx!%H^co|-fyFhVP;FSOmSK~Ff0$&O+F@!I}mxFf*E7B0rRg3kdF@hQi$*6#Rz&Zt+ z8!CEW0TeG70cx5!y+;gg{SM^p`N|=0g?%Db8CHk+8N?<7fQnttLJYA0yOLeOE@hWR zddVyCRg#xvm$0DZ)Ff%F6cv!Ro;)mdH_rsw+ zj2%KB`t!i>$&w?k^aj0b@+#!Gf}06*4HT?a0s2OkhjCe!8ZusI=(hZ2Mg zkhpvrKO@y*hZvM#1wHs#fo-8q`=@u(X+JMm^$YB3z_9o*2<9dHGSrJ)oq&2h!9T5G z*RZ|kwvj%36l`R*U?ZZ|ZDiMi)?I$K*1e72>DRhj*maRw_r9QYAK(x1NBCp>Py7k~ zl&xhquyt%byOC{RHw|jtN%5$!|9?R12oYJi`Fylas>YL1gaemJMw4iwATjJOY!kbc zZQe$dB$lX19J`HeVSiFpqL;?U<`)i;8him-aWe|+ukW(tl1~qU1 zb_juIu<8M-RasW<^eht!-;pmwWgvPSx0Sh?I89|)L?So1yx${}Br*noE=gv$cayQ~ z4v|}-PCDJ=UG9lkDb|M}+hUQ}lcW(F%G^QHNe0OzS;RuDY%A+#J*<~)W7~HSJIN+F zB$wntLbHSIWV_fNc9)RE%$@7?c2qcpV)VRnP)|tEyighheg#G4Tk5^O8T>N7y{13Dl-cIwDF7iMCBD319;C+4d_2%N`=4f^)wV@OytKZIaA5 ze0bHQPEf&_q=sBXYS}(^FT0Q3zm3#GfuoVkVh^zW>|yo@GtU;Vy`Uy@M0hX!nk%7x zDG?Ml9>{G5@}}@MP%9C(X(Ee=lQgrxvA?qi*+bhP$Jj@dC>_qT60|)|&>ejvWSv5) zFDj*QlMtwNE*G-{I6~dfxBXS*I+xc6X<+h@mja7*P`Cx)=JLCJpeL|Ce#jJ&x)7ej ze0qpa&}A?CM>ik}39Nv|2fXdPRLvJYHaxkLEDvXRq>DYu%+krOf^3egCTrLM_V@ri zB8*&dc8*16qI7aK$UKfc#*$Jd`?n6UjJ0I_pH|esiksk!;@A_yiqL*>1&C$Us@$BC zTuZXGIA@I|c@-#Owk5eFJA2KVKC%hLkXy-SA-uH!9GR(<9U5A^j~ZtFpWbJ`&&3QM z0oC|ug-~x-#i`>p2~ZwS)EkqMp{i|4T~J*Yaq9*=)VqU1%C3YfH0gzOk;ePsI#NJ{ zf@#6D$^d}AMhLf+l@7S@sDuRD?Ewp{uB&kSg*%CW&kG5RkQ0`}WkW#1T-*RvNjC%V zx-JMcf+}aAO{^nHdk)+nRXU_?r}};3J^~hO>4L(IG_Sf-@U{#y%A$skU}OZ`SIXE( zC0w|{y(EX=mOnRYAE!=BhqAlHYAYzbz;WU988aIiXU$z8UA;n4O*k6iWRitr5l#hu z3KD<6RT8jNdzWr;KJW{#Y);u7#Q)`BS|aO+uE zQEV;AFDD2msdIf9ry+cFM~mb zjo^ye@CJdw!oDIX<)7=Ks);jJ*A13!8Y-uFgd7RVFiX;sy5_K}s6E|P>eL%N{-x0VVi_$sj6d|*dV4bhJKnJXv& zLoOTf60@d-IP(FMJN>y*5ljt-wdc@--Xzs|yxngriAufgnkMVc{RLRRAcdmdIk19yM z+MtyHjK$+Is}kTsEmimHRMLJh1^c=B;8OW-%j?D z=b(+^IQf8lL`TqgXqCvMR%ni>p?+w6SO%>R8|mNZKj`z&;BbTYh7fR3J z|LNE4DJeE?A%6v56D|{jpX(L&MSk!hLJ}5s+INy&D03It3heX%L)(C*9b_kahCR!k zW6!e}*o*8CJG=}0>>hF#aC6LGqk`t_m>c*a0?+i$OkICe#jmI^Q8`fI@c0j=tGE;9&0;25UJprQM?iaFAz3b zNzH`VC;bwN$DUSL>VeP(6}d{!VlPY&1H^&p3AMay0JevT3Hygd@d$ZbNTn}_JB!EI zW$b14N-ueWJV_3+BkWW5lMsyivlcOT$pdsLv^MqMhn}6X44DIPXh^;zNg>RHO-x*% zjP7jrwuZTRj=TWT6koSD88d;w922V278^1hffRbM$uah?b zH@v~#WN-hkqvZcHG6pRd(8T-ft@A*};m`eqd?^6pPswNG1UX4QCtt94*t_gKc8nco z@9!X|$XDcR@(uYG0PzRxL-rB-C;R0813>(n0EmBQAD;^lQ$p!kfVf{=bQm20GN!}X zXWeupI|*ttn9|c2F?~PL#Lf8+m-Ha#hR`My@4|e<(s(c?s-kgJ%|2&eurGVz<}ZP2 z*(r90{U~UsWr&INJBEG)8#aw_kq^xMT+^YFxXkVC4AeXQt$cq*F2Wx`8RwwhB#lMR z7BMPK0%6l+_7!uzMpK|F3WX7BqNy~7rp*b6EI~HOzF}Xp6YO+~&?9j}=%6F~t>Cdy zW)IDx7WOUsu7}#Foqf-KVCF{YqZ*|RAv*tg|Hy)j=(uSi1(aeK!u{FO=%vN9M5tZ- z`)TJcik_2=@TXirCrFAF9+*tag>NgRW$b76uO8~4Q`m1I96MC8E)*5(mnP2pA66{; zS=}b~vuZq%+C5Wb;@2k5^&eqkXq(HQHkN7@w3g0;_(|(%J#CQt-$m!s1#sitL>EyfZKkdejtb%7Av_|4M~3jI5FQ=ETnH-#>(EGg z$F~TX>LBzC%nNus{Vwr31&o4g;e$?h`yh}7bm$9T%+`rBXFv&AtTikMxS+!Zs;*Y2 z*wn^Jl&nHeQ~yv5qz=IfxD0?cCE;3YffpKimqFqvzL#vpL%mx=c$lQDOQ|2QRzJ$9 zpQw%TkF9EC;#ngZC4E+RG0go{fj{$m3kH8e<(r|qsLXUcH8}F%hw~J|X zmDAtGhieUVExmr|w(IGw{}(5`nchaXM4qrJgyTY3{ihR_gwq=qCUm3H9p@*huz>c^ zz0k`>?+Rf}H@!QA6W|II5+fn=lhT1m-x6MQKRtlr_s|CbRQ{blNFSp60bD*zAEA$i zur7r4A)FY(h7dM}a8d{-hwzvX9vi|bd+1~IakyOaI@Yq*BzMB?rs%2Ora1FIinJK zETQ5I-EyGe17yTfg;3ENLMejj;bLca68D#F8WF z&bv^ZMoMT;4quVe_vwdVA;MTU{V0U3{UsRs$-qo$<;niO3_#Bsg&GH~$2p&b1) z`;56DJJLdXvIUy%$3f%lMbKtHA1x#Y$@73Oj{yq%8XCUOK(qI6HBQodS#r~Co=Gx9$9yYgf5_vIhTKbC(f|4ROi{5$y%@-tDI$Zdcr?=vMS99#uT1ctUYd@wDPu#q)|66^9is zD~>4o6t5}XP<$Sf6jK&c72}J!Ic9szp_q4KzT<{-dE8{KoSVW;<1XZ8aEmxM=iz*u zp9^v!?i%ho?s{$=w~^b#ZRWOcw{v%K`?*8h>)dhf3+_Aa2ks2_6ZeM_E2&bh9H!JN zb;=ZFs&bt20%fIgfzqe+D}%~4%4?PDl(#8&Dt9S&EALW1s63=Rt~?csViRMHvB|Mx zV@J%ki7K0FylR4KlB!fyp{i3gsAj3=sOGEOsy0=J%BxzfxP^;95>Lm3Tb&5J$ zU7{YZo}iwjE>&Nso}sQ**QjgN_39<+OVrn?H>vMXZ&mlGx2f+^->u%KzEAyt`g!%c z>Qm}7>YvsBQvVijj2{=jFy0rxF1{!Jp7_J@FUKE=?~8ve{*Cyz;@^pXFaF#3@8eI$ z{}}&s{J%6ZjY^}|Xf#@lUSrTCX~t+$G})S5O}?g3GgC8Pvrw~0)2#7omTCf;PR(VS zD>PSWuF-7NY|?DjY|-q}?9uGi+@pC!b3pUB=1I*?A^MY?ibjjmQ#uWQt~ zbnQBi&ZqP1g1R-jOLZaL<+>|%SL=Fp59yBS&glNoBRzpiXNKOQx9M~AdHMqVMf$n= zR((*vOy8wnsb8(XM9=g$=-2Bv=x^3<)Nj&n)^E}8(BH2=tp7eSIx#shBe6blLE@ss z=ERmnZ{q62HHnubvczi>Z%W*gxG(X!#J3YaP5e6X+r;k^PbdCpKn7xv8KMls4I>RI zgTat)m~5yrG#X|b<{IW378+U&ZbO@)!{9Y6HLN%6HN0XtVK{C0$?%KeH^U!BY*ZV^ z8dHsF#!REdXfqZWFECCtPBxYqXBr!gvyF3&^NlVeZ)`QXjcvxDF=V{Pc%AWj<2vI; z<0j)~;}+xX#vR6|jE9Y{rSzt3Pq`=M(UhlBUQBs2cPT%loJsk~ zG{Q8>6m8;6DpR~kYf3aFnZ}rkO%0}I(+bmC(=OA)rq@j$nNFI%Fr6}eZ8~H6$@Giq zSJUsQ#i_1TUuqz=Gqo#qW$NnGYg2DZy(RT8skf%ymfD-TJ#}a5?$ozx{HuDbiF7qDqUh_ld zr_9IFWNF5F=f=PyZnOqxA37e@p)(182|- zd4?iGpOKs~Hp7&Wk&%^Q&9G+_W=zPa%~+VxnsIf;x{P}=p3ZnX)74IBR^? z#H^WFwOI{Wv$N)9EzELewPdwsxw9_MTA$UEbs+0d*72-wvVOM=vkbS4vcy@&Skf&v zOOd76GTt)J(qdU^@mm6xPRnJMD=pVp)>_tCZnX4R?y~H)?6d5*9I(7=Ibk_z`P}lQ zu9UOso)2;Q^2J39A)7ot1tyfxa zvTn5AYTaVJ!@AXakM&{ebJq8)?^{2zequdg{lfZ{^;_!?)*r3E*kWw4HnmM-)7lbk zNw%@JR9m_&(`K<1+Nx}`ZA)!e*tXd2wLN1yW;@IEzi + + + + SchemeUserState + + SideDishApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/SideDishApp/SideDishApp/Application/AppDelegate.swift b/SideDishApp/SideDishApp/Application/AppDelegate.swift new file mode 100644 index 000000000..518bd48ce --- /dev/null +++ b/SideDishApp/SideDishApp/Application/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/20. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/SideDishApp/SideDishApp/Application/SceneDelegate.swift b/SideDishApp/SideDishApp/Application/SceneDelegate.swift new file mode 100644 index 000000000..cfa25c84c --- /dev/null +++ b/SideDishApp/SideDishApp/Application/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/20. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + guard let _ = (scene as? UIWindowScene) else { return } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard new file mode 100644 index 000000000..25a763858 --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift new file mode 100644 index 000000000..f67e64a61 --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/20. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json b/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json b/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..9221b9bb1 --- /dev/null +++ b/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json b/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard b/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 000000000..865e9329f --- /dev/null +++ b/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + From a35ee98361eeb0545974e558a3e33c1801eda9e8 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Tue, 20 Apr 2021 14:26:05 +0900 Subject: [PATCH 03/32] =?UTF-8?q?chore:=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=85=8B=ED=8C=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 6 +- .../UserInterfaceState.xcuserstate | Bin 14311 -> 32346 bytes SideDishApp/SideDishApp/Info.plist | 66 +++++++++ .../UI/View/Base.lproj/Main.storyboard | 126 +++++++++++++++++- .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 8 files changed, 189 insertions(+), 9 deletions(-) create mode 100644 SideDishApp/SideDishApp/Info.plist rename SideDishApp/{ => SideDishApp}/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename SideDishApp/{ => SideDishApp}/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename SideDishApp/{ => SideDishApp}/SupportingFiles/Assets.xcassets/Contents.json (100%) rename SideDishApp/{ => SideDishApp}/SupportingFiles/Base.lproj/LaunchScreen.storyboard (100%) diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 7926ca03d..040d2308d 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -23,7 +23,7 @@ 1E1DBAD8262DDDFC0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -41,8 +41,6 @@ isa = PBXGroup; children = ( 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */, - 1E1DBAF3262DDF020050FE6C /* SupportingFiles */, - 1E1DBADF262DDDFD0050FE6C /* Info.plist */, 1E1DBACF262DDDFC0050FE6C /* Products */, ); sourceTree = ""; @@ -62,6 +60,8 @@ 1E1DBAEF262DDE990050FE6C /* Domain */, 1E1DBAE9262DDE0C0050FE6C /* Presentation */, 1E1DBAE8262DDE0A0050FE6C /* Data */, + 1E1DBAF3262DDF020050FE6C /* SupportingFiles */, + 1E1DBADF262DDDFD0050FE6C /* Info.plist */, ); path = SideDishApp; sourceTree = ""; diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index 57b716c2ac869ff312e106eb8f17199c9002e5b9..e3088c07661a43deeac4b1418575309dd66f8326 100644 GIT binary patch literal 32346 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⪅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 diff --git a/SideDishApp/SideDishApp/Info.plist b/SideDishApp/SideDishApp/Info.plist new file mode 100644 index 000000000..5b531f7b2 --- /dev/null +++ b/SideDishApp/SideDishApp/Info.plist @@ -0,0 +1,66 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 25a763858..7cc13ced1 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -1,24 +1,138 @@ - + + - + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json b/SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json rename to SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json b/SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json rename to SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json b/SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json similarity index 100% rename from SideDishApp/SupportingFiles/Assets.xcassets/Contents.json rename to SideDishApp/SideDishApp/SupportingFiles/Assets.xcassets/Contents.json diff --git a/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard b/SideDishApp/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard rename to SideDishApp/SideDishApp/SupportingFiles/Base.lproj/LaunchScreen.storyboard From 498ad0aafd2fc681bb7840a3e6b66be2598ba988 Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Tue, 20 Apr 2021 17:13:14 +0900 Subject: [PATCH 04/32] =?UTF-8?q?Feature=20:=20DiffableDataSource=EB=A5=BC?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=97=AC=20Section,=20Cell=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UI 관련 경고 발생 --- .../SideDishApp.xcodeproj/project.pbxproj | 4 + .../xcschemes/xcschememanagement.plist | 14 +++ .../UI/View/Base.lproj/Main.storyboard | 86 ++++++++++++------- .../Presentation/UI/View/DishCard.swift | 16 ++++ .../UI/ViewController/ViewController.swift | 53 +++++++++++- 5 files changed, 140 insertions(+), 33 deletions(-) create mode 100644 SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 040d2308d..511b984e6 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; + B0911E6F262EA29200D5EBEC /* DishCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCard.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -24,6 +25,7 @@ 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; + B0911E6E262EA29200D5EBEC /* DishCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCard.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -119,6 +121,7 @@ isa = PBXGroup; children = ( 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */, + B0911E6E262EA29200D5EBEC /* DishCard.swift */, ); path = View; sourceTree = ""; @@ -251,6 +254,7 @@ files = ( 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, + B0911E6F262EA29200D5EBEC /* DishCard.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..3ca11deb8 --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + SideDishApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 7cc13ced1..76685b1fc 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -5,6 +5,7 @@ + @@ -16,26 +17,27 @@ - - + + - - + + - + - - + + + - + + + + + + + + + + + + + + + + + - - - + + - + + - + + + + + + + + + @@ -96,13 +117,16 @@ - - - - + + + + + + + @@ -111,10 +135,9 @@ - + - @@ -128,6 +151,7 @@ + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift b/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift new file mode 100644 index 000000000..0b5d4621b --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift @@ -0,0 +1,16 @@ +// +// DishCard.swift +// SideDishApp +// +// Created by 이다훈 on 2021/04/20. +// + +import UIKit + +class DishCard : UITableViewCell { + @IBOutlet weak var dishImage: UIImageView! + @IBOutlet weak var title: UILabel! + @IBOutlet weak var body: UILabel! + @IBOutlet weak var charge: UILabel! + @IBOutlet weak var eventCollection: UICollectionView! +} diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index f67e64a61..4a388191b 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -9,11 +9,60 @@ import UIKit class ViewController: UIViewController { + @IBOutlet weak var dishTableView: UITableView! + + let tableViewDataSource = TableViewDataSource() + var datasource : UITableViewDiffableDataSource! + override func viewDidLoad() { super.viewDidLoad() - // Do any additional setup after loading the view. - } +// dishTableView.dataSource = tableViewDataSource + + datasource = configureDataSource() + + let testCard = DishCard.init() + let testCard1 = DishCard.init() + let testCard2 = DishCard.init() + + var snapshot = NSDiffableDataSourceSnapshot() + snapshot.appendSections([section.main]) + snapshot.appendItems([testCard], toSection: section.main) + snapshot.appendSections([section.soup]) + snapshot.appendItems([testCard1], toSection: section.soup) + snapshot.appendSections([section.side]) + snapshot.appendItems([testCard2], toSection: section.side) +// for section in section.allCases { +// snapshot.appendItems([testCard], toSection: section) +// } + + datasource.apply(snapshot, animatingDifferences: true, completion: { + }) + } + + func configureDataSource() -> UITableViewDiffableDataSource { + let dataSource = DishTableViewDiffableDataSource(tableView: dishTableView, cellProvider: { tableView, indexPath, customCell in + guard let cell = tableView.dequeueReusableCell(withIdentifier: "DishCard", for: indexPath) as? DishCard else { + return UITableViewCell() + } + // cell.dishImage.image = UIImage() +// cell.title.text = "title1" +// cell.body.text = "body2" + return cell + + }) + return dataSource + } +} +class DishTableViewDiffableDataSource : UITableViewDiffableDataSource { + override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + return snapshot().sectionIdentifiers[section].rawValue.uppercased() + } } +enum section : String, CaseIterable { + case main = "main" + case soup = "soup" + case side = "side" +} From 22c4488580f8633121d4363a286d8be84f294373 Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Tue, 20 Apr 2021 22:29:26 +0900 Subject: [PATCH 05/32] =?UTF-8?q?Feature=20:=20DishCard=20UI=20=EC=9E=AC?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B0=8F=20title=20multiLIne=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=20(#6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/View/Base.lproj/Main.storyboard | 112 +++++++----------- .../Presentation/UI/View/DishCard.swift | 3 +- .../UI/ViewController/ViewController.swift | 42 +++++-- 3 files changed, 81 insertions(+), 76 deletions(-) diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 76685b1fc..c379be469 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -5,7 +5,6 @@ - @@ -18,7 +17,7 @@ - + @@ -36,77 +35,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + + - - - - - - - + + - + @@ -117,8 +97,8 @@ - - + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift b/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift index 0b5d4621b..2440b5a3c 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift @@ -12,5 +12,6 @@ class DishCard : UITableViewCell { @IBOutlet weak var title: UILabel! @IBOutlet weak var body: UILabel! @IBOutlet weak var charge: UILabel! - @IBOutlet weak var eventCollection: UICollectionView! + @IBOutlet weak var eventStackView: UIStackView! + } diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 4a388191b..b63b75f9e 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -11,19 +11,18 @@ class ViewController: UIViewController { @IBOutlet weak var dishTableView: UITableView! - let tableViewDataSource = TableViewDataSource() var datasource : UITableViewDiffableDataSource! + let colorDictionary = ["이벤트특가" : UIColor.systemGreen, "런칭특가" : UIColor.systemBlue] override func viewDidLoad() { super.viewDidLoad() -// dishTableView.dataSource = tableViewDataSource - + datasource = configureDataSource() - + let testCard = DishCard.init() let testCard1 = DishCard.init() let testCard2 = DishCard.init() - + var snapshot = NSDiffableDataSourceSnapshot() snapshot.appendSections([section.main]) snapshot.appendItems([testCard], toSection: section.main) @@ -34,10 +33,8 @@ class ViewController: UIViewController { // for section in section.allCases { // snapshot.appendItems([testCard], toSection: section) // } - - datasource.apply(snapshot, animatingDifferences: true, completion: { - }) + datasource.apply(snapshot, animatingDifferences: true, completion: nil) } func configureDataSource() -> UITableViewDiffableDataSource { @@ -46,13 +43,39 @@ class ViewController: UIViewController { return UITableViewCell() } // cell.dishImage.image = UIImage() -// cell.title.text = "title1" + cell.title.text = "title1123123123123123123123123123" + + cell.title.numberOfLines = 0 // cell.body.text = "body2" + + cell.eventStackView.spacing = 10 + cell.eventStackView.distribution = .equalCentering + cell.eventStackView.addArrangedSubview(self.createEventLabel(text: "이벤트특가")) + cell.eventStackView.addArrangedSubview(self.createEventLabel(text: "런칭특가")) + return cell }) return dataSource } + + func createEventLabel(text : String) -> UILabel { + + var label : UILabel { + let newLabel = UILabel() + newLabel.text = " \(text) " + newLabel.clipsToBounds = true + newLabel.layer.cornerRadius = 5 + newLabel.backgroundColor = colorDictionary[text] + newLabel.textColor = UIColor.white + newLabel.font = UIFont.systemFont(ofSize: 12, weight: .bold) + + return newLabel + } + + return label + } + } class DishTableViewDiffableDataSource : UITableViewDiffableDataSource { @@ -66,3 +89,4 @@ enum section : String, CaseIterable { case soup = "soup" case side = "side" } + From 67c533f603a7605196f7193968e3f1499c787d68 Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Wed, 21 Apr 2021 16:12:51 +0900 Subject: [PATCH 06/32] Refactor : Convert TableView to CollectionView (#6) --- .../SideDishApp.xcodeproj/project.pbxproj | 8 +- .../UI/View/Base.lproj/Main.storyboard | 97 +++++++++---------- .../{DishCard.swift => DishCardCell.swift} | 9 +- .../UI/ViewController/ViewController.swift | 37 +++---- 4 files changed, 73 insertions(+), 78 deletions(-) rename SideDishApp/SideDishApp/Presentation/UI/View/{DishCard.swift => DishCardCell.swift} (57%) diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 511b984e6..86be390c0 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -13,7 +13,7 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; - B0911E6F262EA29200D5EBEC /* DishCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCard.swift */; }; + B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -25,7 +25,7 @@ 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; - B0911E6E262EA29200D5EBEC /* DishCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCard.swift; sourceTree = ""; }; + B0911E6E262EA29200D5EBEC /* DishCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCardCell.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -121,7 +121,7 @@ isa = PBXGroup; children = ( 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */, - B0911E6E262EA29200D5EBEC /* DishCard.swift */, + B0911E6E262EA29200D5EBEC /* DishCardCell.swift */, ); path = View; sourceTree = ""; @@ -254,7 +254,7 @@ files = ( 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, - B0911E6F262EA29200D5EBEC /* DishCard.swift in Sources */, + B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index c379be469..22d94ee1c 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -5,6 +5,7 @@ + @@ -16,15 +17,21 @@ - - + + - - - - - - + + + + + + + + + + + + @@ -35,77 +42,69 @@ - - + + - - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - - - - + + + + - + diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift b/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift similarity index 57% rename from SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift rename to SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift index 2440b5a3c..1b77ff661 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/DishCard.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift @@ -1,5 +1,5 @@ // -// DishCard.swift +// DishCardCell.swift // SideDishApp // // Created by 이다훈 on 2021/04/20. @@ -7,11 +7,14 @@ import UIKit -class DishCard : UITableViewCell { - @IBOutlet weak var dishImage: UIImageView! +class DishCardCell : UICollectionViewCell { @IBOutlet weak var dishImage: UIImageView! @IBOutlet weak var title: UILabel! @IBOutlet weak var body: UILabel! @IBOutlet weak var charge: UILabel! @IBOutlet weak var eventStackView: UIStackView! + class var reuseIdentifier: String { + return "\(self)" + } + } diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index b63b75f9e..dc5d2fdee 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -9,9 +9,9 @@ import UIKit class ViewController: UIViewController { - @IBOutlet weak var dishTableView: UITableView! + @IBOutlet weak var dishCollectionView: UICollectionView! - var datasource : UITableViewDiffableDataSource! + var datasource : UICollectionViewDiffableDataSource! let colorDictionary = ["이벤트특가" : UIColor.systemGreen, "런칭특가" : UIColor.systemBlue] override func viewDidLoad() { @@ -19,11 +19,11 @@ class ViewController: UIViewController { datasource = configureDataSource() - let testCard = DishCard.init() - let testCard1 = DishCard.init() - let testCard2 = DishCard.init() + let testCard = DishCardCell.init() + let testCard1 = DishCardCell.init() + let testCard2 = DishCardCell.init() - var snapshot = NSDiffableDataSourceSnapshot() + var snapshot = NSDiffableDataSourceSnapshot() snapshot.appendSections([section.main]) snapshot.appendItems([testCard], toSection: section.main) snapshot.appendSections([section.soup]) @@ -34,28 +34,27 @@ class ViewController: UIViewController { // snapshot.appendItems([testCard], toSection: section) // } - datasource.apply(snapshot, animatingDifferences: true, completion: nil) + datasource.apply(snapshot) } - func configureDataSource() -> UITableViewDiffableDataSource { - let dataSource = DishTableViewDiffableDataSource(tableView: dishTableView, cellProvider: { tableView, indexPath, customCell in - guard let cell = tableView.dequeueReusableCell(withIdentifier: "DishCard", for: indexPath) as? DishCard else { - return UITableViewCell() + func configureDataSource() -> UICollectionViewDiffableDataSource { + let dataSource = UICollectionViewDiffableDataSource (collectionView: dishCollectionView, cellProvider: { collectionView,indexPath,customCell in + guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: DishCardCell.reuseIdentifier, for: indexPath) as? DishCardCell else { + return UICollectionViewCell() } - // cell.dishImage.image = UIImage() + cell.title.text = "title1123123123123123123123123123" cell.title.numberOfLines = 0 -// cell.body.text = "body2" + cell.body.text = "body2" - cell.eventStackView.spacing = 10 - cell.eventStackView.distribution = .equalCentering + cell.eventStackView.spacing = 4 cell.eventStackView.addArrangedSubview(self.createEventLabel(text: "이벤트특가")) cell.eventStackView.addArrangedSubview(self.createEventLabel(text: "런칭특가")) return cell - }) + return dataSource } @@ -78,12 +77,6 @@ class ViewController: UIViewController { } -class DishTableViewDiffableDataSource : UITableViewDiffableDataSource { - override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - return snapshot().sectionIdentifiers[section].rawValue.uppercased() - } -} - enum section : String, CaseIterable { case main = "main" case soup = "soup" From 227384a570720899bc7420698e876f7828615ef2 Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Wed, 21 Apr 2021 18:14:13 +0900 Subject: [PATCH 07/32] =?UTF-8?q?Build:=20=EC=BD=94=EC=BD=94=EC=95=84?= =?UTF-8?q?=ED=8C=9F,=20Toaster=20=EB=AA=A8=EB=93=88=20import=20(#11)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SideDishApp/.DS_Store | Bin 0 -> 6148 bytes SideDishApp/Podfile | 12 + SideDishApp/Podfile.lock | 16 + SideDishApp/Pods/Manifest.lock | 16 + .../Pods/Pods.xcodeproj/project.pbxproj | 610 ++++++++++++++ .../xcschemes/Pods-SideDishApp.xcscheme | 60 ++ .../xcschemes/Toast-Swift.xcscheme | 60 ++ .../xcschemes/xcschememanagement.plist | 21 + .../Pods-SideDishApp-Info.plist | 26 + ...Pods-SideDishApp-acknowledgements.markdown | 27 + .../Pods-SideDishApp-acknowledgements.plist | 59 ++ .../Pods-SideDishApp/Pods-SideDishApp-dummy.m | 5 + ...pp-frameworks-Debug-input-files.xcfilelist | 2 + ...p-frameworks-Debug-output-files.xcfilelist | 1 + ...-frameworks-Release-input-files.xcfilelist | 2 + ...frameworks-Release-output-files.xcfilelist | 1 + .../Pods-SideDishApp-frameworks.sh | 185 +++++ .../Pods-SideDishApp-umbrella.h | 16 + .../Pods-SideDishApp.debug.xcconfig | 14 + .../Pods-SideDishApp.modulemap | 6 + .../Pods-SideDishApp.release.xcconfig | 14 + .../Toast-Swift/Toast-Swift-Info.plist | 26 + .../Toast-Swift/Toast-Swift-dummy.m | 5 + .../Toast-Swift/Toast-Swift-prefix.pch | 12 + .../Toast-Swift/Toast-Swift-umbrella.h | 16 + .../Toast-Swift/Toast-Swift.debug.xcconfig | 13 + .../Toast-Swift/Toast-Swift.modulemap | 6 + .../Toast-Swift/Toast-Swift.release.xcconfig | 13 + SideDishApp/Pods/Toast-Swift/LICENSE | 20 + SideDishApp/Pods/Toast-Swift/README.md | 135 +++ .../Pods/Toast-Swift/Toast/Toast.swift | 782 ++++++++++++++++++ .../SideDishApp.xcodeproj/project.pbxproj | 71 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 44306 bytes .../xcschemes/xcschememanagement.plist | 14 + .../contents.xcworkspacedata | 10 + 35 files changed, 2276 insertions(+) create mode 100644 SideDishApp/.DS_Store create mode 100644 SideDishApp/Podfile create mode 100644 SideDishApp/Podfile.lock create mode 100644 SideDishApp/Pods/Manifest.lock create mode 100644 SideDishApp/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme create mode 100644 SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme create mode 100644 SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.markdown create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.plist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-dummy.m create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-input-files.xcfilelist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-output-files.xcfilelist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-input-files.xcfilelist create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-output-files.xcfilelist create mode 100755 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-umbrella.h create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap create mode 100644 SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap create mode 100644 SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig create mode 100644 SideDishApp/Pods/Toast-Swift/LICENSE create mode 100644 SideDishApp/Pods/Toast-Swift/README.md create mode 100644 SideDishApp/Pods/Toast-Swift/Toast/Toast.swift create mode 100644 SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/idahun.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SideDishApp/SideDishApp.xcworkspace/contents.xcworkspacedata diff --git a/SideDishApp/.DS_Store b/SideDishApp/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ac353fe410f8d20372da859157d40e891f8e394d GIT binary patch literal 6148 zcmeH~&q@O^5XQe~4@EEaAojQy@h0@_Wn0%L=nH87VAU?WR7AnczKri7_$vAyelrub zOI26}5uJg_mrXKB^Mhm>0AX-7=>Z)8ZMtY{gT*^0{o*UO7F(n<=o}f&aETfEC|5>% zgA;H9zm0&L-E9ncZYP*x`TUmH#|_3Pw5P;^we$IDZ#XV;JKf=S&@4JHvTQUjMvQ77 z-t9eZbszdoXPA6*hH|#NgL^KIolp0F&3!L$!F#R533*Iw41lNRGc0rHAMCzxX!tww z;*G`EXQ}bfJRnHi{s95zY_ayHsh3W`2{?gQ0&+hjbkQ_wWvW*P3w;7mTWnTiUEUHB zlSECUR;KKs1q-EGXoydY5K~aFaQ3Hhd}V6k2)Z)oi7SWrLJ7J$+Y=p*keYhw1e`#f zz`A{QB>x|M{Qj>8`Ii%L0)L7?Xl27}z%9kxy0SURwF&*0E+*qDQw?De)3H`06?f@s Y>`SCVO`}$(Y@zud0ma~j6ZlaA&twaDwg3PC literal 0 HcmV?d00001 diff --git a/SideDishApp/Podfile b/SideDishApp/Podfile new file mode 100644 index 000000000..9b7400c0f --- /dev/null +++ b/SideDishApp/Podfile @@ -0,0 +1,12 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'SideDishApp' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for SideDishApp + + pod 'Toast-Swift', '~> 5.0.1' + +end diff --git a/SideDishApp/Podfile.lock b/SideDishApp/Podfile.lock new file mode 100644 index 000000000..b94bbde0e --- /dev/null +++ b/SideDishApp/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - Toast-Swift (5.0.1) + +DEPENDENCIES: + - Toast-Swift (~> 5.0.1) + +SPEC REPOS: + trunk: + - Toast-Swift + +SPEC CHECKSUMS: + Toast-Swift: 9b6a70f28b3bf0b96c40d46c0c4b9d6639846711 + +PODFILE CHECKSUM: bcdbceab1bc9b42ae0eb2250656ec728644ed17a + +COCOAPODS: 1.10.1 diff --git a/SideDishApp/Pods/Manifest.lock b/SideDishApp/Pods/Manifest.lock new file mode 100644 index 000000000..b94bbde0e --- /dev/null +++ b/SideDishApp/Pods/Manifest.lock @@ -0,0 +1,16 @@ +PODS: + - Toast-Swift (5.0.1) + +DEPENDENCIES: + - Toast-Swift (~> 5.0.1) + +SPEC REPOS: + trunk: + - Toast-Swift + +SPEC CHECKSUMS: + Toast-Swift: 9b6a70f28b3bf0b96c40d46c0c4b9d6639846711 + +PODFILE CHECKSUM: bcdbceab1bc9b42ae0eb2250656ec728644ed17a + +COCOAPODS: 1.10.1 diff --git a/SideDishApp/Pods/Pods.xcodeproj/project.pbxproj b/SideDishApp/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 000000000..9ee9d8ab2 --- /dev/null +++ b/SideDishApp/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,610 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 0544331B64997483CB81D24779976B12 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31FE7C6ECA71C614A5A667C679B23874 /* Foundation.framework */; }; + 2024EE5E265681137A9FEBC630E6E0F1 /* Toast-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E15AC60C991B08D578D75E5D7EABB64 /* Toast-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4753716AE7A1AB22FB6BA61AA74D942F /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = F318FE758DBBEDD53C43B7374CF4B0EF /* Toast.swift */; }; + 6B326644BB08AEDF697A82A0F1A66D68 /* Toast-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E6FCD31C4EE1DA60FB90F8B432CDE1C /* Toast-Swift-dummy.m */; }; + 753C8C42CEFBED94E1F1E752955F0254 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31FE7C6ECA71C614A5A667C679B23874 /* Foundation.framework */; }; + 7F046CCD3CFA3AC3EE390685DD4B528D /* Pods-SideDishApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CCF25B7DB8D667AE393C11E77BE319AD /* Pods-SideDishApp-dummy.m */; }; + CD94E769E8CF925559BB67ED2FD8940E /* Pods-SideDishApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DECF379F04EC5C28957F1D0B0AA99373 /* Pods-SideDishApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E30AFF09BE355906C38B27B0CD35F806 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEFE490E4A06D19E868B2B9014BB8BF /* QuartzCore.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 9CB80EB1A7B49893B360727294C72B67 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B990BD87169C76A3ED3FE8A9258D91A3; + remoteInfo = "Toast-Swift"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0A789C6DECC324202E565343211304DE /* Pods-SideDishApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SideDishApp-acknowledgements.plist"; sourceTree = ""; }; + 0E6FCD31C4EE1DA60FB90F8B432CDE1C /* Toast-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-Swift-dummy.m"; sourceTree = ""; }; + 1E15AC60C991B08D578D75E5D7EABB64 /* Toast-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-umbrella.h"; sourceTree = ""; }; + 25039F7BEC4628E58D8FA03887D4102C /* Pods-SideDishApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SideDishApp.debug.xcconfig"; sourceTree = ""; }; + 2976B0134E79F013D43DD21DA35DB5F9 /* Pods-SideDishApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SideDishApp.modulemap"; sourceTree = ""; }; + 2F50B18C74D2D97745E4801987A30384 /* Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Toast-Swift-Info.plist"; sourceTree = ""; }; + 2FEFE490E4A06D19E868B2B9014BB8BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + 31FE7C6ECA71C614A5A667C679B23874 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 3B2845562E646CF443B9CC526C2668A3 /* Toast-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.debug.xcconfig"; sourceTree = ""; }; + 4007A72BDCD28826D29D220D8AF11806 /* Toast-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.release.xcconfig"; sourceTree = ""; }; + 5FBC7B7D13B30930168B88E63ECB1846 /* Pods-SideDishApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SideDishApp-frameworks.sh"; sourceTree = ""; }; + 63984B43E35D0FE1BBF58F2BD32F2657 /* Pods-SideDishApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SideDishApp-Info.plist"; sourceTree = ""; }; + 7E2E5146BA112427FEF4F0F97CA5D11D /* Pods_SideDishApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_SideDishApp.framework; path = "Pods-SideDishApp.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 825B95930816FF3991519AC0ED095A7F /* Toast-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Toast-Swift.modulemap"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BF1E10D2888B2F7C3435BFF6A7F4667A /* Toast-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-prefix.pch"; sourceTree = ""; }; + CCF25B7DB8D667AE393C11E77BE319AD /* Pods-SideDishApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SideDishApp-dummy.m"; sourceTree = ""; }; + D4CF6D4FED9B23D8523666D695542867 /* Pods-SideDishApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SideDishApp-acknowledgements.markdown"; sourceTree = ""; }; + D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast_Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Toast_Swift.framework; path = "Toast-Swift.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + DECF379F04EC5C28957F1D0B0AA99373 /* Pods-SideDishApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SideDishApp-umbrella.h"; sourceTree = ""; }; + F318FE758DBBEDD53C43B7374CF4B0EF /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = Toast/Toast.swift; sourceTree = ""; }; + F5608B321915F31C4312BCF29ED24DDD /* Pods-SideDishApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SideDishApp.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 6102CF7EA55F5A7D669F88BF0D1A701F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 753C8C42CEFBED94E1F1E752955F0254 /* Foundation.framework in Frameworks */, + E30AFF09BE355906C38B27B0CD35F806 /* QuartzCore.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6B57BAC9C9DFA85E36C9FC50718B7B6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0544331B64997483CB81D24779976B12 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 01B6499BB351F4D13DA64A16EF49B6FC /* Pods */ = { + isa = PBXGroup; + children = ( + E4DD821E3F92A576E63FCE4FAEA66257 /* Toast-Swift */, + ); + name = Pods; + sourceTree = ""; + }; + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D325A42620E7427FB70FB046C7B7B240 /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 2E7C0C8FBAB0435026A680ED5BD9C42C /* Products */ = { + isa = PBXGroup; + children = ( + 7E2E5146BA112427FEF4F0F97CA5D11D /* Pods_SideDishApp.framework */, + D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast_Swift.framework */, + ); + name = Products; + sourceTree = ""; + }; + 309A74E340FC2AEB4CA0163593D8595A /* Pods-SideDishApp */ = { + isa = PBXGroup; + children = ( + 2976B0134E79F013D43DD21DA35DB5F9 /* Pods-SideDishApp.modulemap */, + D4CF6D4FED9B23D8523666D695542867 /* Pods-SideDishApp-acknowledgements.markdown */, + 0A789C6DECC324202E565343211304DE /* Pods-SideDishApp-acknowledgements.plist */, + CCF25B7DB8D667AE393C11E77BE319AD /* Pods-SideDishApp-dummy.m */, + 5FBC7B7D13B30930168B88E63ECB1846 /* Pods-SideDishApp-frameworks.sh */, + 63984B43E35D0FE1BBF58F2BD32F2657 /* Pods-SideDishApp-Info.plist */, + DECF379F04EC5C28957F1D0B0AA99373 /* Pods-SideDishApp-umbrella.h */, + 25039F7BEC4628E58D8FA03887D4102C /* Pods-SideDishApp.debug.xcconfig */, + F5608B321915F31C4312BCF29ED24DDD /* Pods-SideDishApp.release.xcconfig */, + ); + name = "Pods-SideDishApp"; + path = "Target Support Files/Pods-SideDishApp"; + sourceTree = ""; + }; + 33766B3047DCD86835C369640F8DC357 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 309A74E340FC2AEB4CA0163593D8595A /* Pods-SideDishApp */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + ADB41ECB626BC7FC84F0B17847BEB04F /* Support Files */ = { + isa = PBXGroup; + children = ( + 825B95930816FF3991519AC0ED095A7F /* Toast-Swift.modulemap */, + 0E6FCD31C4EE1DA60FB90F8B432CDE1C /* Toast-Swift-dummy.m */, + 2F50B18C74D2D97745E4801987A30384 /* Toast-Swift-Info.plist */, + BF1E10D2888B2F7C3435BFF6A7F4667A /* Toast-Swift-prefix.pch */, + 1E15AC60C991B08D578D75E5D7EABB64 /* Toast-Swift-umbrella.h */, + 3B2845562E646CF443B9CC526C2668A3 /* Toast-Swift.debug.xcconfig */, + 4007A72BDCD28826D29D220D8AF11806 /* Toast-Swift.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/Toast-Swift"; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, + 01B6499BB351F4D13DA64A16EF49B6FC /* Pods */, + 2E7C0C8FBAB0435026A680ED5BD9C42C /* Products */, + 33766B3047DCD86835C369640F8DC357 /* Targets Support Files */, + ); + sourceTree = ""; + }; + D325A42620E7427FB70FB046C7B7B240 /* iOS */ = { + isa = PBXGroup; + children = ( + 31FE7C6ECA71C614A5A667C679B23874 /* Foundation.framework */, + 2FEFE490E4A06D19E868B2B9014BB8BF /* QuartzCore.framework */, + ); + name = iOS; + sourceTree = ""; + }; + E4DD821E3F92A576E63FCE4FAEA66257 /* Toast-Swift */ = { + isa = PBXGroup; + children = ( + F318FE758DBBEDD53C43B7374CF4B0EF /* Toast.swift */, + ADB41ECB626BC7FC84F0B17847BEB04F /* Support Files */, + ); + name = "Toast-Swift"; + path = "Toast-Swift"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 541A0721D8D26374CF7CF04B1473A45A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2024EE5E265681137A9FEBC630E6E0F1 /* Toast-Swift-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CFB6BC1BE14D9DBE18F75852F469AD3B /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CD94E769E8CF925559BB67ED2FD8940E /* Pods-SideDishApp-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 9D5BAF8DC907111EE9B1AFF2E129B815 /* Pods-SideDishApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3C9CB781D90944DF3E41111FE0CA37B0 /* Build configuration list for PBXNativeTarget "Pods-SideDishApp" */; + buildPhases = ( + CFB6BC1BE14D9DBE18F75852F469AD3B /* Headers */, + 24E53F0CE92F1050F09D638735CF32F1 /* Sources */, + 6B57BAC9C9DFA85E36C9FC50718B7B6C /* Frameworks */, + E9753324C70C95951DA187EFBD9B1D7D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + CA7D71B3DC006332DAA7CEBCA096308B /* PBXTargetDependency */, + ); + name = "Pods-SideDishApp"; + productName = "Pods-SideDishApp"; + productReference = 7E2E5146BA112427FEF4F0F97CA5D11D /* Pods_SideDishApp.framework */; + productType = "com.apple.product-type.framework"; + }; + B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */ = { + isa = PBXNativeTarget; + buildConfigurationList = B8C401847A53B4C2810311A8CBD715AD /* Build configuration list for PBXNativeTarget "Toast-Swift" */; + buildPhases = ( + 541A0721D8D26374CF7CF04B1473A45A /* Headers */, + 32133C6B0EACD421CB9EB1ABFCE89B97 /* Sources */, + 6102CF7EA55F5A7D669F88BF0D1A701F /* Frameworks */, + 8812DCC289D1E7BE07818E350A3B8656 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Toast-Swift"; + productName = "Toast-Swift"; + productReference = D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast_Swift.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 2E7C0C8FBAB0435026A680ED5BD9C42C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 9D5BAF8DC907111EE9B1AFF2E129B815 /* Pods-SideDishApp */, + B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8812DCC289D1E7BE07818E350A3B8656 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E9753324C70C95951DA187EFBD9B1D7D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 24E53F0CE92F1050F09D638735CF32F1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7F046CCD3CFA3AC3EE390685DD4B528D /* Pods-SideDishApp-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 32133C6B0EACD421CB9EB1ABFCE89B97 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6B326644BB08AEDF697A82A0F1A66D68 /* Toast-Swift-dummy.m in Sources */, + 4753716AE7A1AB22FB6BA61AA74D942F /* Toast.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CA7D71B3DC006332DAA7CEBCA096308B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Toast-Swift"; + target = B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */; + targetProxy = 9CB80EB1A7B49893B360727294C72B67 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 03E76E2FE0A9366114F81640AA5875EA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4007A72BDCD28826D29D220D8AF11806 /* Toast-Swift.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap"; + PRODUCT_MODULE_NAME = Toast_Swift; + PRODUCT_NAME = Toast_Swift; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 125C51B0F88E28C868DC90BD45E4E727 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 911DE61EA33B535BEACDF1278067FF9E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F5608B321915F31C4312BCF29ED24DDD /* Pods-SideDishApp.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 92A3E9AC052A7345115439021B218E3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + C646B80E4D8A9B6FB6B471288AD9746F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3B2845562E646CF443B9CC526C2668A3 /* Toast-Swift.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Toast-Swift/Toast-Swift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/Toast-Swift/Toast-Swift.modulemap"; + PRODUCT_MODULE_NAME = Toast_Swift; + PRODUCT_NAME = Toast_Swift; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + CE3F27A9F50053DF3ED2542D377FF1C1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 25039F7BEC4628E58D8FA03887D4102C /* Pods-SideDishApp.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3C9CB781D90944DF3E41111FE0CA37B0 /* Build configuration list for PBXNativeTarget "Pods-SideDishApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CE3F27A9F50053DF3ED2542D377FF1C1 /* Debug */, + 911DE61EA33B535BEACDF1278067FF9E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 125C51B0F88E28C868DC90BD45E4E727 /* Debug */, + 92A3E9AC052A7345115439021B218E3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B8C401847A53B4C2810311A8CBD715AD /* Build configuration list for PBXNativeTarget "Toast-Swift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C646B80E4D8A9B6FB6B471288AD9746F /* Debug */, + 03E76E2FE0A9366114F81640AA5875EA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme new file mode 100644 index 000000000..e96739e73 --- /dev/null +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme new file mode 100644 index 000000000..a93991136 --- /dev/null +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..1b8ecd24c --- /dev/null +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,21 @@ + + + + + SchemeUserState + + Pods-SideDishApp.xcscheme + + isShown + + + Toast-Swift.xcscheme + + isShown + + + + SuppressBuildableAutocreation + + + diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist new file mode 100644 index 000000000..2243fe6e2 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.markdown b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.markdown new file mode 100644 index 000000000..f10b0cea7 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.markdown @@ -0,0 +1,27 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## Toast-Swift + +Copyright (c) 2015-2017 Charles Scalesse. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.plist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.plist new file mode 100644 index 000000000..6d2841063 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-acknowledgements.plist @@ -0,0 +1,59 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2015-2017 Charles Scalesse. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + Toast-Swift + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-dummy.m b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-dummy.m new file mode 100644 index 000000000..6ed23d647 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_SideDishApp : NSObject +@end +@implementation PodsDummy_Pods_SideDishApp +@end diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-input-files.xcfilelist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 000000000..3d7028ba6 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh +${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework \ No newline at end of file diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-output-files.xcfilelist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-output-files.xcfilelist new file mode 100644 index 000000000..337e6e0e3 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Debug-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework \ No newline at end of file diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-input-files.xcfilelist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-input-files.xcfilelist new file mode 100644 index 000000000..3d7028ba6 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh +${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework \ No newline at end of file diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-output-files.xcfilelist b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-output-files.xcfilelist new file mode 100644 index 000000000..337e6e0e3 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-Release-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Toast_Swift.framework \ No newline at end of file diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh new file mode 100755 index 000000000..34750d103 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh @@ -0,0 +1,185 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-umbrella.h b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-umbrella.h new file mode 100644 index 000000000..8e87de6b6 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_SideDishAppVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_SideDishAppVersionString[]; + diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig new file mode 100644 index 000000000..797a888fc --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig @@ -0,0 +1,14 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "Toast_Swift" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap new file mode 100644 index 000000000..9ba19a004 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.modulemap @@ -0,0 +1,6 @@ +framework module Pods_SideDishApp { + umbrella header "Pods-SideDishApp-umbrella.h" + + export * + module * { export * } +} diff --git a/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig new file mode 100644 index 000000000..797a888fc --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig @@ -0,0 +1,14 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift/Toast_Swift.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -framework "Toast_Swift" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist new file mode 100644 index 000000000..8d87a1ae9 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 5.0.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m new file mode 100644 index 000000000..2962aa47f --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Toast_Swift : NSObject +@end +@implementation PodsDummy_Toast_Swift +@end diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch new file mode 100644 index 000000000..beb2a2441 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h new file mode 100644 index 000000000..8abdfa083 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Toast_SwiftVersionNumber; +FOUNDATION_EXPORT const unsigned char Toast_SwiftVersionString[]; + diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig new file mode 100644 index 000000000..e918f50d4 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap new file mode 100644 index 000000000..af3db9f59 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap @@ -0,0 +1,6 @@ +framework module Toast_Swift { + umbrella header "Toast-Swift-umbrella.h" + + export * + module * { export * } +} diff --git a/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig new file mode 100644 index 000000000..e918f50d4 --- /dev/null +++ b/SideDishApp/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast-Swift +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/SideDishApp/Pods/Toast-Swift/LICENSE b/SideDishApp/Pods/Toast-Swift/LICENSE new file mode 100644 index 000000000..14ba7c72e --- /dev/null +++ b/SideDishApp/Pods/Toast-Swift/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2015-2017 Charles Scalesse. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/SideDishApp/Pods/Toast-Swift/README.md b/SideDishApp/Pods/Toast-Swift/README.md new file mode 100644 index 000000000..a99d68946 --- /dev/null +++ b/SideDishApp/Pods/Toast-Swift/README.md @@ -0,0 +1,135 @@ +Toast-Swift +============= + +[![Build Status](https://travis-ci.org/scalessec/Toast-Swift.svg?branch=master)](https://travis-ci.org/scalessec/Toast-Swift) +[![CocoaPods Version](https://img.shields.io/cocoapods/v/Toast-Swift.svg)](http://cocoadocs.org/docsets/Toast-Swift) +[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) + +Toast-Swift is a Swift extension that adds toast notifications to the `UIView` object class. It is intended to be simple, lightweight, and easy to use. Most toast notifications can be triggered with a single line of code. + +**Toast-Swift is a native Swift port of [Toast for iOS](https://github.com/scalessec/Toast "Toast for iOS").** + +Screenshots +--------- +![Toast-Swift Screenshots](toast_swift_screenshot.jpg) + + +Basic Examples +--------- +```swift +// basic usage +self.view.makeToast("This is a piece of toast") + +// toast with a specific duration and position +self.view.makeToast("This is a piece of toast", duration: 3.0, position: .top) + +// toast presented with multiple options and with a completion closure +self.view.makeToast("This is a piece of toast", duration: 2.0, point: CGPoint(x: 110.0, y: 110.0), title: "Toast Title", image: UIImage(named: "toast.png")) { didTap in + if didTap { + print("completion from tap") + } else { + print("completion without tap") + } +} + +// display toast with an activity spinner +self.view.makeToastActivity(.center) + +// display any view as toast +self.view.showToast(myView) + +// immediately hides all toast views in self.view +self.view.hideAllToasts() +``` + +But wait, there's more! +--------- +```swift +// create a new style +var style = ToastStyle() + +// this is just one of many style options +style.messageColor = .blue + +// present the toast with the new style +self.view.makeToast("This is a piece of toast", duration: 3.0, position: .bottom, style: style) + +// or perhaps you want to use this style for all toasts going forward? +// just set the shared style and there's no need to provide the style again +ToastManager.shared.style = style +self.view.makeToast("This is a piece of toast") // now uses the shared style + +// toggle "tap to dismiss" functionality +ToastManager.shared.isTapToDismissEnabled = true + +// toggle queueing behavior +ToastManager.shared.isQueueEnabled = true +``` + +See the demo project for more examples. + + +Setup Instructions +------------------ + +[CocoaPods](http://cocoapods.org) +------------------ + +To integrate Toast-Swift into your Xcode project using CocoaPods, specify it in your `Podfile`: + +```ruby +pod 'Toast-Swift', '~> 5.0.0' +``` + +and in your code add `import Toast_Swift`. + +[Carthage](https://github.com/Carthage/Carthage) +------------------ + +To integrate Toast-Swift into your Xcode project using Carthage, specify it in your `Cartfile`: + +```ogdl +github "scalessec/Toast-Swift" ~> 5.0.0 +``` + +Run `carthage update` to build the framework and drag the built `ToastSwiftFramework.framework` into your Xcode project. + +and in your code add `import ToastSwiftFramework`. + +Manually +------------------ + +1. Add `Toast.swift` to your project. +2. Grab yourself a cold 🍺. + +Compatibility +------------------ +* Version `5.x.x` requires Swift 5 and Xcode 10.2. +* Version `4.x.x` requires Swift 4.2 and Xcode 10. +* Version `3.x.x` requires Swift 4 and Xcode 9. +* Version `2.x.x` requires Swift 3 and Xcode 8. +* Version `1.4.x` requires Swift 2.2 and Xcode 7.3. +* Version `1.0.0` can be used with Swift 2.1 and earlier versions of Xcode. + +MIT License +----------- + Copyright (c) 2015-2019 Charles Scalesse. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/SideDishApp/Pods/Toast-Swift/Toast/Toast.swift b/SideDishApp/Pods/Toast-Swift/Toast/Toast.swift new file mode 100644 index 000000000..49e64a8ed --- /dev/null +++ b/SideDishApp/Pods/Toast-Swift/Toast/Toast.swift @@ -0,0 +1,782 @@ +// +// Toast.swift +// Toast-Swift +// +// Copyright (c) 2015-2019 Charles Scalesse. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +import UIKit +import ObjectiveC + +/** + Toast is a Swift extension that adds toast notifications to the `UIView` object class. + It is intended to be simple, lightweight, and easy to use. Most toast notifications + can be triggered with a single line of code. + + The `makeToast` methods create a new view and then display it as toast. + + The `showToast` methods display any view as toast. + + */ +public extension UIView { + + /** + Keys used for associated objects. + */ + private struct ToastKeys { + static var timer = "com.toast-swift.timer" + static var duration = "com.toast-swift.duration" + static var point = "com.toast-swift.point" + static var completion = "com.toast-swift.completion" + static var activeToasts = "com.toast-swift.activeToasts" + static var activityView = "com.toast-swift.activityView" + static var queue = "com.toast-swift.queue" + } + + /** + Swift closures can't be directly associated with objects via the + Objective-C runtime, so the (ugly) solution is to wrap them in a + class that can be used with associated objects. + */ + private class ToastCompletionWrapper { + let completion: ((Bool) -> Void)? + + init(_ completion: ((Bool) -> Void)?) { + self.completion = completion + } + } + + private enum ToastError: Error { + case missingParameters + } + + private var activeToasts: NSMutableArray { + get { + if let activeToasts = objc_getAssociatedObject(self, &ToastKeys.activeToasts) as? NSMutableArray { + return activeToasts + } else { + let activeToasts = NSMutableArray() + objc_setAssociatedObject(self, &ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + return activeToasts + } + } + } + + private var queue: NSMutableArray { + get { + if let queue = objc_getAssociatedObject(self, &ToastKeys.queue) as? NSMutableArray { + return queue + } else { + let queue = NSMutableArray() + objc_setAssociatedObject(self, &ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + return queue + } + } + } + + // MARK: - Make Toast Methods + + /** + Creates and presents a new toast view. + + @param message The message to be displayed + @param duration The toast duration + @param position The toast's position + @param title The title + @param image The image + @param style The style. The shared style will be used when nil + @param completion The completion closure, executed after the toast view disappears. + didTap will be `true` if the toast view was dismissed from a tap. + */ + func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, title: String? = nil, image: UIImage? = nil, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)? = nil) { + do { + let toast = try toastViewForMessage(message, title: title, image: image, style: style) + showToast(toast, duration: duration, position: position, completion: completion) + } catch ToastError.missingParameters { + print("Error: message, title, and image are all nil") + } catch {} + } + + /** + Creates a new toast view and presents it at a given center point. + + @param message The message to be displayed + @param duration The toast duration + @param point The toast's center point + @param title The title + @param image The image + @param style The style. The shared style will be used when nil + @param completion The completion closure, executed after the toast view disappears. + didTap will be `true` if the toast view was dismissed from a tap. + */ + func makeToast(_ message: String?, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, title: String?, image: UIImage?, style: ToastStyle = ToastManager.shared.style, completion: ((_ didTap: Bool) -> Void)?) { + do { + let toast = try toastViewForMessage(message, title: title, image: image, style: style) + showToast(toast, duration: duration, point: point, completion: completion) + } catch ToastError.missingParameters { + print("Error: message, title, and image cannot all be nil") + } catch {} + } + + // MARK: - Show Toast Methods + + /** + Displays any view as toast at a provided position and duration. The completion closure + executes when the toast view completes. `didTap` will be `true` if the toast view was + dismissed from a tap. + + @param toast The view to be displayed as toast + @param duration The notification duration + @param position The toast's position + @param completion The completion block, executed after the toast view disappears. + didTap will be `true` if the toast view was dismissed from a tap. + */ + func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, position: ToastPosition = ToastManager.shared.position, completion: ((_ didTap: Bool) -> Void)? = nil) { + let point = position.centerPoint(forToast: toast, inSuperview: self) + showToast(toast, duration: duration, point: point, completion: completion) + } + + /** + Displays any view as toast at a provided center point and duration. The completion closure + executes when the toast view completes. `didTap` will be `true` if the toast view was + dismissed from a tap. + + @param toast The view to be displayed as toast + @param duration The notification duration + @param point The toast's center point + @param completion The completion block, executed after the toast view disappears. + didTap will be `true` if the toast view was dismissed from a tap. + */ + func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, completion: ((_ didTap: Bool) -> Void)? = nil) { + objc_setAssociatedObject(toast, &ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + + if ToastManager.shared.isQueueEnabled, activeToasts.count > 0 { + objc_setAssociatedObject(toast, &ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject(toast, &ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + + queue.add(toast) + } else { + showToast(toast, duration: duration, point: point) + } + } + + // MARK: - Hide Toast Methods + + /** + Hides the active toast. If there are multiple toasts active in a view, this method + hides the oldest toast (the first of the toasts to have been presented). + + @see `hideAllToasts()` to remove all active toasts from a view. + + @warning This method has no effect on activity toasts. Use `hideToastActivity` to + hide activity toasts. + + */ + func hideToast() { + guard let activeToast = activeToasts.firstObject as? UIView else { return } + hideToast(activeToast) + } + + /** + Hides an active toast. + + @param toast The active toast view to dismiss. Any toast that is currently being displayed + on the screen is considered active. + + @warning this does not clear a toast view that is currently waiting in the queue. + */ + func hideToast(_ toast: UIView) { + guard activeToasts.contains(toast) else { return } + hideToast(toast, fromTap: false) + } + + /** + Hides all toast views. + + @param includeActivity If `true`, toast activity will also be hidden. Default is `false`. + @param clearQueue If `true`, removes all toast views from the queue. Default is `true`. + */ + func hideAllToasts(includeActivity: Bool = false, clearQueue: Bool = true) { + if clearQueue { + clearToastQueue() + } + + activeToasts.compactMap { $0 as? UIView } + .forEach { hideToast($0) } + + if includeActivity { + hideToastActivity() + } + } + + /** + Removes all toast views from the queue. This has no effect on toast views that are + active. Use `hideAllToasts(clearQueue:)` to hide the active toasts views and clear + the queue. + */ + func clearToastQueue() { + queue.removeAllObjects() + } + + // MARK: - Activity Methods + + /** + Creates and displays a new toast activity indicator view at a specified position. + + @warning Only one toast activity indicator view can be presented per superview. Subsequent + calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called. + + @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast + activity views can be presented and dismissed while toast views are being displayed. + `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods. + + @param position The toast's position + */ + func makeToastActivity(_ position: ToastPosition) { + // sanity + guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return } + + let toast = createToastActivityView() + let point = position.centerPoint(forToast: toast, inSuperview: self) + makeToastActivity(toast, point: point) + } + + /** + Creates and displays a new toast activity indicator view at a specified position. + + @warning Only one toast activity indicator view can be presented per superview. Subsequent + calls to `makeToastActivity(position:)` will be ignored until `hideToastActivity()` is called. + + @warning `makeToastActivity(position:)` works independently of the `showToast` methods. Toast + activity views can be presented and dismissed while toast views are being displayed. + `makeToastActivity(position:)` has no effect on the queueing behavior of the `showToast` methods. + + @param point The toast's center point + */ + func makeToastActivity(_ point: CGPoint) { + // sanity + guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return } + + let toast = createToastActivityView() + makeToastActivity(toast, point: point) + } + + /** + Dismisses the active toast activity indicator view. + */ + func hideToastActivity() { + if let toast = objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView { + UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: { + toast.alpha = 0.0 + }) { _ in + toast.removeFromSuperview() + objc_setAssociatedObject(self, &ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + } + } + } + + // MARK: - Private Activity Methods + + private func makeToastActivity(_ toast: UIView, point: CGPoint) { + toast.alpha = 0.0 + toast.center = point + + objc_setAssociatedObject(self, &ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + + self.addSubview(toast) + + UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: .curveEaseOut, animations: { + toast.alpha = 1.0 + }) + } + + private func createToastActivityView() -> UIView { + let style = ToastManager.shared.style + + let activityView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: style.activitySize.width, height: style.activitySize.height)) + activityView.backgroundColor = style.activityBackgroundColor + activityView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin] + activityView.layer.cornerRadius = style.cornerRadius + + if style.displayShadow { + activityView.layer.shadowColor = style.shadowColor.cgColor + activityView.layer.shadowOpacity = style.shadowOpacity + activityView.layer.shadowRadius = style.shadowRadius + activityView.layer.shadowOffset = style.shadowOffset + } + + let activityIndicatorView = UIActivityIndicatorView(style: .whiteLarge) + activityIndicatorView.center = CGPoint(x: activityView.bounds.size.width / 2.0, y: activityView.bounds.size.height / 2.0) + activityView.addSubview(activityIndicatorView) + activityIndicatorView.color = style.activityIndicatorColor + activityIndicatorView.startAnimating() + + return activityView + } + + // MARK: - Private Show/Hide Methods + + private func showToast(_ toast: UIView, duration: TimeInterval, point: CGPoint) { + toast.center = point + toast.alpha = 0.0 + + if ToastManager.shared.isTapToDismissEnabled { + let recognizer = UITapGestureRecognizer(target: self, action: #selector(UIView.handleToastTapped(_:))) + toast.addGestureRecognizer(recognizer) + toast.isUserInteractionEnabled = true + toast.isExclusiveTouch = true + } + + activeToasts.add(toast) + self.addSubview(toast) + + UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseOut, .allowUserInteraction], animations: { + toast.alpha = 1.0 + }) { _ in + let timer = Timer(timeInterval: duration, target: self, selector: #selector(UIView.toastTimerDidFinish(_:)), userInfo: toast, repeats: false) + RunLoop.main.add(timer, forMode: .common) + objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + } + } + + private func hideToast(_ toast: UIView, fromTap: Bool) { + if let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer { + timer.invalidate() + } + + UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: { + toast.alpha = 0.0 + }) { _ in + toast.removeFromSuperview() + self.activeToasts.remove(toast) + + if let wrapper = objc_getAssociatedObject(toast, &ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion { + completion(fromTap) + } + + if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, &ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, &ToastKeys.point) as? NSValue { + self.queue.removeObject(at: 0) + self.showToast(nextToast, duration: duration.doubleValue, point: point.cgPointValue) + } + } + } + + // MARK: - Events + + @objc + private func handleToastTapped(_ recognizer: UITapGestureRecognizer) { + guard let toast = recognizer.view else { return } + hideToast(toast, fromTap: true) + } + + @objc + private func toastTimerDidFinish(_ timer: Timer) { + guard let toast = timer.userInfo as? UIView else { return } + hideToast(toast) + } + + // MARK: - Toast Construction + + /** + Creates a new toast view with any combination of message, title, and image. + The look and feel is configured via the style. Unlike the `makeToast` methods, + this method does not present the toast view automatically. One of the `showToast` + methods must be used to present the resulting view. + + @warning if message, title, and image are all nil, this method will throw + `ToastError.missingParameters` + + @param message The message to be displayed + @param title The title + @param image The image + @param style The style. The shared style will be used when nil + @throws `ToastError.missingParameters` when message, title, and image are all nil + @return The newly created toast view + */ + func toastViewForMessage(_ message: String?, title: String?, image: UIImage?, style: ToastStyle) throws -> UIView { + // sanity + guard message != nil || title != nil || image != nil else { + throw ToastError.missingParameters + } + + var messageLabel: UILabel? + var titleLabel: UILabel? + var imageView: UIImageView? + + let wrapperView = UIView() + wrapperView.backgroundColor = style.backgroundColor + wrapperView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin] + wrapperView.layer.cornerRadius = style.cornerRadius + + if style.displayShadow { + wrapperView.layer.shadowColor = UIColor.black.cgColor + wrapperView.layer.shadowOpacity = style.shadowOpacity + wrapperView.layer.shadowRadius = style.shadowRadius + wrapperView.layer.shadowOffset = style.shadowOffset + } + + if let image = image { + imageView = UIImageView(image: image) + imageView?.contentMode = .scaleAspectFit + imageView?.frame = CGRect(x: style.horizontalPadding, y: style.verticalPadding, width: style.imageSize.width, height: style.imageSize.height) + } + + var imageRect = CGRect.zero + + if let imageView = imageView { + imageRect.origin.x = style.horizontalPadding + imageRect.origin.y = style.verticalPadding + imageRect.size.width = imageView.bounds.size.width + imageRect.size.height = imageView.bounds.size.height + } + + if let title = title { + titleLabel = UILabel() + titleLabel?.numberOfLines = style.titleNumberOfLines + titleLabel?.font = style.titleFont + titleLabel?.textAlignment = style.titleAlignment + titleLabel?.lineBreakMode = .byTruncatingTail + titleLabel?.textColor = style.titleColor + titleLabel?.backgroundColor = UIColor.clear + titleLabel?.text = title; + + let maxTitleSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage) + let titleSize = titleLabel?.sizeThatFits(maxTitleSize) + if let titleSize = titleSize { + titleLabel?.frame = CGRect(x: 0.0, y: 0.0, width: titleSize.width, height: titleSize.height) + } + } + + if let message = message { + messageLabel = UILabel() + messageLabel?.text = message + messageLabel?.numberOfLines = style.messageNumberOfLines + messageLabel?.font = style.messageFont + messageLabel?.textAlignment = style.messageAlignment + messageLabel?.lineBreakMode = .byTruncatingTail; + messageLabel?.textColor = style.messageColor + messageLabel?.backgroundColor = UIColor.clear + + let maxMessageSize = CGSize(width: (self.bounds.size.width * style.maxWidthPercentage) - imageRect.size.width, height: self.bounds.size.height * style.maxHeightPercentage) + let messageSize = messageLabel?.sizeThatFits(maxMessageSize) + if let messageSize = messageSize { + let actualWidth = min(messageSize.width, maxMessageSize.width) + let actualHeight = min(messageSize.height, maxMessageSize.height) + messageLabel?.frame = CGRect(x: 0.0, y: 0.0, width: actualWidth, height: actualHeight) + } + } + + var titleRect = CGRect.zero + + if let titleLabel = titleLabel { + titleRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding + titleRect.origin.y = style.verticalPadding + titleRect.size.width = titleLabel.bounds.size.width + titleRect.size.height = titleLabel.bounds.size.height + } + + var messageRect = CGRect.zero + + if let messageLabel = messageLabel { + messageRect.origin.x = imageRect.origin.x + imageRect.size.width + style.horizontalPadding + messageRect.origin.y = titleRect.origin.y + titleRect.size.height + style.verticalPadding + messageRect.size.width = messageLabel.bounds.size.width + messageRect.size.height = messageLabel.bounds.size.height + } + + let longerWidth = max(titleRect.size.width, messageRect.size.width) + let longerX = max(titleRect.origin.x, messageRect.origin.x) + let wrapperWidth = max((imageRect.size.width + (style.horizontalPadding * 2.0)), (longerX + longerWidth + style.horizontalPadding)) + let wrapperHeight = max((messageRect.origin.y + messageRect.size.height + style.verticalPadding), (imageRect.size.height + (style.verticalPadding * 2.0))) + + wrapperView.frame = CGRect(x: 0.0, y: 0.0, width: wrapperWidth, height: wrapperHeight) + + if let titleLabel = titleLabel { + titleRect.size.width = longerWidth + titleLabel.frame = titleRect + wrapperView.addSubview(titleLabel) + } + + if let messageLabel = messageLabel { + messageRect.size.width = longerWidth + messageLabel.frame = messageRect + wrapperView.addSubview(messageLabel) + } + + if let imageView = imageView { + wrapperView.addSubview(imageView) + } + + return wrapperView + } + +} + +// MARK: - Toast Style + +/** + `ToastStyle` instances define the look and feel for toast views created via the + `makeToast` methods as well for toast views created directly with + `toastViewForMessage(message:title:image:style:)`. + + @warning `ToastStyle` offers relatively simple styling options for the default + toast view. If you require a toast view with more complex UI, it probably makes more + sense to create your own custom UIView subclass and present it with the `showToast` + methods. +*/ +public struct ToastStyle { + + public init() {} + + /** + The background color. Default is `.black` at 80% opacity. + */ + public var backgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8) + + /** + The title color. Default is `UIColor.whiteColor()`. + */ + public var titleColor: UIColor = .white + + /** + The message color. Default is `.white`. + */ + public var messageColor: UIColor = .white + + /** + A percentage value from 0.0 to 1.0, representing the maximum width of the toast + view relative to it's superview. Default is 0.8 (80% of the superview's width). + */ + public var maxWidthPercentage: CGFloat = 0.8 { + didSet { + maxWidthPercentage = max(min(maxWidthPercentage, 1.0), 0.0) + } + } + + /** + A percentage value from 0.0 to 1.0, representing the maximum height of the toast + view relative to it's superview. Default is 0.8 (80% of the superview's height). + */ + public var maxHeightPercentage: CGFloat = 0.8 { + didSet { + maxHeightPercentage = max(min(maxHeightPercentage, 1.0), 0.0) + } + } + + /** + The spacing from the horizontal edge of the toast view to the content. When an image + is present, this is also used as the padding between the image and the text. + Default is 10.0. + + */ + public var horizontalPadding: CGFloat = 10.0 + + /** + The spacing from the vertical edge of the toast view to the content. When a title + is present, this is also used as the padding between the title and the message. + Default is 10.0. On iOS11+, this value is added added to the `safeAreaInset.top` + and `safeAreaInsets.bottom`. + */ + public var verticalPadding: CGFloat = 10.0 + + /** + The corner radius. Default is 10.0. + */ + public var cornerRadius: CGFloat = 10.0; + + /** + The title font. Default is `.boldSystemFont(16.0)`. + */ + public var titleFont: UIFont = .boldSystemFont(ofSize: 16.0) + + /** + The message font. Default is `.systemFont(ofSize: 16.0)`. + */ + public var messageFont: UIFont = .systemFont(ofSize: 16.0) + + /** + The title text alignment. Default is `NSTextAlignment.Left`. + */ + public var titleAlignment: NSTextAlignment = .left + + /** + The message text alignment. Default is `NSTextAlignment.Left`. + */ + public var messageAlignment: NSTextAlignment = .left + + /** + The maximum number of lines for the title. The default is 0 (no limit). + */ + public var titleNumberOfLines = 0 + + /** + The maximum number of lines for the message. The default is 0 (no limit). + */ + public var messageNumberOfLines = 0 + + /** + Enable or disable a shadow on the toast view. Default is `false`. + */ + public var displayShadow = false + + /** + The shadow color. Default is `.black`. + */ + public var shadowColor: UIColor = .black + + /** + A value from 0.0 to 1.0, representing the opacity of the shadow. + Default is 0.8 (80% opacity). + */ + public var shadowOpacity: Float = 0.8 { + didSet { + shadowOpacity = max(min(shadowOpacity, 1.0), 0.0) + } + } + + /** + The shadow radius. Default is 6.0. + */ + public var shadowRadius: CGFloat = 6.0 + + /** + The shadow offset. The default is 4 x 4. + */ + public var shadowOffset = CGSize(width: 4.0, height: 4.0) + + /** + The image size. The default is 80 x 80. + */ + public var imageSize = CGSize(width: 80.0, height: 80.0) + + /** + The size of the toast activity view when `makeToastActivity(position:)` is called. + Default is 100 x 100. + */ + public var activitySize = CGSize(width: 100.0, height: 100.0) + + /** + The fade in/out animation duration. Default is 0.2. + */ + public var fadeDuration: TimeInterval = 0.2 + + /** + Activity indicator color. Default is `.white`. + */ + public var activityIndicatorColor: UIColor = .white + + /** + Activity background color. Default is `.black` at 80% opacity. + */ + public var activityBackgroundColor: UIColor = UIColor.black.withAlphaComponent(0.8) + +} + +// MARK: - Toast Manager + +/** + `ToastManager` provides general configuration options for all toast + notifications. Backed by a singleton instance. +*/ +public class ToastManager { + + /** + The `ToastManager` singleton instance. + + */ + public static let shared = ToastManager() + + /** + The shared style. Used whenever toastViewForMessage(message:title:image:style:) is called + with with a nil style. + + */ + public var style = ToastStyle() + + /** + Enables or disables tap to dismiss on toast views. Default is `true`. + + */ + public var isTapToDismissEnabled = true + + /** + Enables or disables queueing behavior for toast views. When `true`, + toast views will appear one after the other. When `false`, multiple toast + views will appear at the same time (potentially overlapping depending + on their positions). This has no effect on the toast activity view, + which operates independently of normal toast views. Default is `false`. + + */ + public var isQueueEnabled = false + + /** + The default duration. Used for the `makeToast` and + `showToast` methods that don't require an explicit duration. + Default is 3.0. + + */ + public var duration: TimeInterval = 3.0 + + /** + Sets the default position. Used for the `makeToast` and + `showToast` methods that don't require an explicit position. + Default is `ToastPosition.Bottom`. + + */ + public var position: ToastPosition = .bottom + +} + +// MARK: - ToastPosition + +public enum ToastPosition { + case top + case center + case bottom + + fileprivate func centerPoint(forToast toast: UIView, inSuperview superview: UIView) -> CGPoint { + let topPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.top + let bottomPadding: CGFloat = ToastManager.shared.style.verticalPadding + superview.csSafeAreaInsets.bottom + + switch self { + case .top: + return CGPoint(x: superview.bounds.size.width / 2.0, y: (toast.frame.size.height / 2.0) + topPadding) + case .center: + return CGPoint(x: superview.bounds.size.width / 2.0, y: superview.bounds.size.height / 2.0) + case .bottom: + return CGPoint(x: superview.bounds.size.width / 2.0, y: (superview.bounds.size.height - (toast.frame.size.height / 2.0)) - bottomPadding) + } + } +} + +// MARK: - Private UIView Extensions + +private extension UIView { + + var csSafeAreaInsets: UIEdgeInsets { + if #available(iOS 11.0, *) { + return self.safeAreaInsets + } else { + return .zero + } + } + +} diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 040d2308d..40a8be4c5 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; + D8279798DA0A1BCEB97E7780 /* Pods_SideDishApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -24,6 +25,9 @@ 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; + 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.debug.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig"; sourceTree = ""; }; + 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.release.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig"; sourceTree = ""; }; + 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SideDishApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -31,17 +35,28 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D8279798DA0A1BCEB97E7780 /* Pods_SideDishApp.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 134494D3AD3A3BAD38EFF6AF /* Frameworks */ = { + isa = PBXGroup; + children = ( + 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; 1E1DBAC5262DDDFC0050FE6C = { isa = PBXGroup; children = ( 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */, 1E1DBACF262DDDFC0050FE6C /* Products */, + 25F4FE78497FA432687D2A6F /* Pods */, + 134494D3AD3A3BAD38EFF6AF /* Frameworks */, ); sourceTree = ""; }; @@ -179,6 +194,16 @@ path = SupportingFiles; sourceTree = ""; }; + 25F4FE78497FA432687D2A6F /* Pods */ = { + isa = PBXGroup; + children = ( + 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */, + 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -186,9 +211,11 @@ isa = PBXNativeTarget; buildConfigurationList = 1E1DBAE2262DDDFD0050FE6C /* Build configuration list for PBXNativeTarget "SideDishApp" */; buildPhases = ( + 4E97AE4DAE4A4279E9E62FA9 /* [CP] Check Pods Manifest.lock */, 1E1DBACA262DDDFC0050FE6C /* Sources */, 1E1DBACB262DDDFC0050FE6C /* Frameworks */, 1E1DBACC262DDDFC0050FE6C /* Resources */, + AA88DE456D8DDF14583AADB8 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -244,6 +271,48 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 4E97AE4DAE4A4279E9E62FA9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SideDishApp-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + AA88DE456D8DDF14583AADB8 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SideDishApp/Pods-SideDishApp-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 1E1DBACA262DDDFC0050FE6C /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -395,6 +464,7 @@ }; 1E1DBAE3262DDDFD0050FE6C /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -413,6 +483,7 @@ }; 1E1DBAE4262DDDFD0050FE6C /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/idahun.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/idahun.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..61a7119269194c79ee855ddf964fe538f33b6653 GIT binary patch literal 44306 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 literal 0 HcmV?d00001 diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..3ca11deb8 --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + SideDishApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/SideDishApp/SideDishApp.xcworkspace/contents.xcworkspacedata b/SideDishApp/SideDishApp.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..2801dc533 --- /dev/null +++ b/SideDishApp/SideDishApp.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + From 9965d04c1271f0787c030ab54d4851641ffeac9d Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Wed, 21 Apr 2021 20:43:15 +0900 Subject: [PATCH 08/32] =?UTF-8?q?Chore:=20=EC=9E=90=EB=8F=99=EC=A0=81?= =?UTF-8?q?=EC=9D=B8=20=ED=8C=8C=EC=9D=BC=20=EB=B3=80=EA=B2=BD=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/Pods-SideDishApp.xcscheme | 24 ++++++++---------- .../xcschemes/Toast-Swift.xcscheme | 24 ++++++++---------- .../xcschemes/xcschememanagement.plist | 4 +++ .../UserInterfaceState.xcuserstate | Bin 44306 -> 44433 bytes .../xcschemes/xcschememanagement.plist | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++++ 6 files changed, 35 insertions(+), 27 deletions(-) create mode 100644 SideDishApp/SideDishApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme index e96739e73..0cea68867 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Pods-SideDishApp.xcscheme @@ -7,15 +7,15 @@ buildImplicitDependencies = "YES"> + buildForArchiving = "YES" + buildForAnalyzing = "YES"> @@ -23,14 +23,15 @@ - - + shouldUseLaunchSchemeArgsEnv = "YES"> + + - - + debugDocumentVersioning = "YES"> diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme index a93991136..f9889528f 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/Toast-Swift.xcscheme @@ -7,15 +7,15 @@ buildImplicitDependencies = "YES"> + buildForArchiving = "YES" + buildForAnalyzing = "YES"> @@ -23,14 +23,15 @@ - - + shouldUseLaunchSchemeArgsEnv = "YES"> + + - - + debugDocumentVersioning = "YES"> diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist index 1b8ecd24c..386ed40f9 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist @@ -8,11 +8,15 @@ isShown + orderHint + 0 Toast-Swift.xcscheme isShown + orderHint + 1 SuppressBuildableAutocreation diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/idahun.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/idahun.xcuserdatad/UserInterfaceState.xcuserstate index 61a7119269194c79ee855ddf964fe538f33b6653..435135a4d40d28ec360cad2bb5fa20674393a931 100644 GIT binary patch delta 21759 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 delta 21861 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 KK=-*s_WuAvU#05+ diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist index 3ca11deb8..edf0a7777 100644 --- a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/idahun.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ SideDishApp.xcscheme_^#shared#^_ orderHint - 0 + 2 diff --git a/SideDishApp/SideDishApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SideDishApp/SideDishApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/SideDishApp/SideDishApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From efafca89db77f583638d22ffc40dda442811014a Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Wed, 21 Apr 2021 22:27:17 +0900 Subject: [PATCH 09/32] =?UTF-8?q?=EC=9E=84=EC=8B=9C=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 28 +++++++- .../UserInterfaceState.xcuserstate | Bin 32346 -> 59954 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ .../SideDishApp/Data/Network/Endpoint.swift | 28 ++++++++ .../Data/Network/NetworkManager.swift | 64 ++++++++++++++++++ .../Data/Network/SideDishNetworkManager.swift | 19 ++++++ .../SideDishApp/Domain/Entity/Dish.swift | 36 ++++++++++ .../Domain/UseCase/MenuListUseCase.swift | 18 +++++ .../UI/ViewController/ViewController.swift | 7 +- .../ViewModel/MenuListViewModel.swift | 39 +++++++++++ .../SupportingFiles}/Info.plist | 5 ++ 11 files changed, 245 insertions(+), 5 deletions(-) create mode 100644 SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 SideDishApp/SideDishApp/Data/Network/Endpoint.swift create mode 100644 SideDishApp/SideDishApp/Data/Network/NetworkManager.swift create mode 100644 SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift create mode 100644 SideDishApp/SideDishApp/Domain/Entity/Dish.swift create mode 100644 SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift create mode 100644 SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift rename SideDishApp/{ => SideDishApp/SupportingFiles}/Info.plist (95%) diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 040d2308d..af19c7365 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -13,6 +13,12 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; + 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; + 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; + 1ECD5F6A262F3B6500DC56C0 /* SideDishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */; }; + 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */; }; + 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */; }; + 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -23,7 +29,13 @@ 1E1DBAD8262DDDFC0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; + 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; + 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; + 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideDishNetworkManager.swift; sourceTree = ""; }; + 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dish.swift; sourceTree = ""; }; + 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListUseCase.swift; sourceTree = ""; }; + 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListViewModel.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -61,7 +73,6 @@ 1E1DBAE9262DDE0C0050FE6C /* Presentation */, 1E1DBAE8262DDE0A0050FE6C /* Data */, 1E1DBAF3262DDF020050FE6C /* SupportingFiles */, - 1E1DBADF262DDDFD0050FE6C /* Info.plist */, ); path = SideDishApp; sourceTree = ""; @@ -76,6 +87,9 @@ 1E1DBAE7262DDE070050FE6C /* Network */ = { isa = PBXGroup; children = ( + 1ECD5F61262F256000DC56C0 /* Endpoint.swift */, + 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */, + 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */, ); path = Network; sourceTree = ""; @@ -134,6 +148,7 @@ 1E1DBAEE262DDE710050FE6C /* ViewModel */ = { isa = PBXGroup; children = ( + 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */, ); path = ViewModel; sourceTree = ""; @@ -150,6 +165,7 @@ 1E1DBAF0262DDEA20050FE6C /* UseCase */ = { isa = PBXGroup; children = ( + 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */, ); path = UseCase; sourceTree = ""; @@ -157,6 +173,7 @@ 1E1DBAF1262DDEA80050FE6C /* Entity */ = { isa = PBXGroup; children = ( + 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */, ); path = Entity; sourceTree = ""; @@ -175,6 +192,7 @@ children = ( 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */, 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */, + 1E1DBADF262DDDFD0050FE6C /* Info.plist */, ); path = SupportingFiles; sourceTree = ""; @@ -249,9 +267,15 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */, 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, + 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, + 1ECD5F6A262F3B6500DC56C0 /* SideDishNetworkManager.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, + 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */, + 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, + 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index e3088c07661a43deeac4b1418575309dd66f8326..84cbae8df0ff2fdf92b8906a6f38a007c15aede5 100644 GIT binary patch literal 59954 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 YjU44G9Mx)SivQw}>QbNmIV$*n07qoGk^lez delta 13583 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 diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 000000000..15cf3fabc --- /dev/null +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/SideDishApp/SideDishApp/Data/Network/Endpoint.swift b/SideDishApp/SideDishApp/Data/Network/Endpoint.swift new file mode 100644 index 000000000..21c08b4a4 --- /dev/null +++ b/SideDishApp/SideDishApp/Data/Network/Endpoint.swift @@ -0,0 +1,28 @@ +// +// Endpoint.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation + +struct Endpoint { + private var path: String + var url: URL? { + var components = URLComponents() + components.scheme = "http" + components.host = "localhost" + components.port = 3000 + components.path = "/categories/\(path)" + + let url = components.url + + return url + } + + static func get(path: String) -> Self { + + return Endpoint(path: path) + } +} diff --git a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift new file mode 100644 index 000000000..461df7404 --- /dev/null +++ b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift @@ -0,0 +1,64 @@ +// +// NetworkManager.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation +import Combine + +class NetworkManager { + + func get(url: URL?) -> AnyPublisher where T: Decodable { + guard let myUrl = url else { + + return Fail(error: NetworkError.url).eraseToAnyPublisher() + } + + return URLSession.shared.dataTaskPublisher(for: myUrl) + .mapError { _ in + NetworkError.networkConnection + } + .flatMap { data, response -> AnyPublisher in + guard let httpResponse = response as? HTTPURLResponse else { + return Fail(error: NetworkError.responseNil).eraseToAnyPublisher() + } + + guard 200..<300 ~= httpResponse.statusCode else { + return Fail(error: NetworkError.unknown).eraseToAnyPublisher() + } + + return Just(data) + .decode(type: T.self, decoder: JSONDecoder()) + .mapError { _ in + NetworkError.parsing + }.eraseToAnyPublisher() + + }.eraseToAnyPublisher() + } +} + +enum NetworkError: Error { + case url + case networkConnection + case responseNil + case parsing + case unknown + + var description: String { + switch self { + case .url: + return "url 오류" + case .responseNil: + return "응답 없음" + case .networkConnection: + return "네트워크 연결 실패" + case .parsing: + return "파싱 실패" + case .unknown: + return "알 수 없는 오류" + + } + } +} diff --git a/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift new file mode 100644 index 000000000..becae255f --- /dev/null +++ b/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift @@ -0,0 +1,19 @@ +// +// SideDishNetworkManager.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation +import Combine + +class SideDishNetworkManager { + let networkManager = NetworkManager() + + func getSideDishes() -> AnyPublisher<[Dishes], NetworkError> { + let url = Endpoint.get(path: "main").url + print(url) + return networkManager.get(url: url) + } +} diff --git a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift new file mode 100644 index 000000000..f5064e7c6 --- /dev/null +++ b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift @@ -0,0 +1,36 @@ +// +// SideDish.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation + +// MARK: - Dishes +struct Dishes: Codable { + let category: String + let name: String + let dishes: [Dish] +} + +// MARK: - Dish +struct Dish: Codable { + let dishId: String + let image: String + let alt: String + let deliveryType: String + let title: String + let description: String + let normalPrice: String + let sellingPrice: String? + let badge: String? + +// +// enum CodingKeys: String, CodingKey { +// case dishID = "dishId" +// case image, alt, deliveryType, title +// case dishDescription = "description" +// case normalPrice, sellingPrice, badge +// } +} diff --git a/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift b/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift new file mode 100644 index 000000000..b0b98cd3e --- /dev/null +++ b/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift @@ -0,0 +1,18 @@ +// +// MenuListUseCase.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation +import Combine + +class MenuListUseCase { + + private let sideDishNetworkManager = SideDishNetworkManager() + + func showMenu() -> AnyPublisher<[Dishes], NetworkError> { + return sideDishNetworkManager.getSideDishes() + } +} diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index f67e64a61..49a6c0002 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -6,14 +6,15 @@ // import UIKit +import Combine class ViewController: UIViewController { + let menuListViewModel = MenuListViewModel() + override func viewDidLoad() { super.viewDidLoad() - // Do any additional setup after loading the view. + menuListViewModel.fetchDishes() } - - } diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift new file mode 100644 index 000000000..444849da7 --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift @@ -0,0 +1,39 @@ +// +// MenuListViewModel.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation +import Combine + +class MenuListViewModel { + private let menuListUseCase = MenuListUseCase() + private var subscriptions = Set() + @Published var dishes: [Dish] = [] + + func fetchDishes() { + menuListUseCase.showMenu() + .sink(receiveCompletion: { result in + switch result { + case .finished: print("끝") + case .failure(.url): + /*에러처리*/ print("url") + case .failure(.networkConnection): + /*에러처리*/ print("networkConnection") + case .failure(.responseNil): + /*에러처리*/ print("responseNil") + case .failure(.parsing): + /*에러처리*/ print("parsing") + case .failure(.unknown): + /*에러처리*/ print("unknown") + } }, + + receiveValue: { data in + print("성공") + }) + .store(in: &subscriptions) + + } +} diff --git a/SideDishApp/Info.plist b/SideDishApp/SideDishApp/SupportingFiles/Info.plist similarity index 95% rename from SideDishApp/Info.plist rename to SideDishApp/SideDishApp/SupportingFiles/Info.plist index 5b531f7b2..53c6efd04 100644 --- a/SideDishApp/Info.plist +++ b/SideDishApp/SideDishApp/SupportingFiles/Info.plist @@ -2,6 +2,11 @@ + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable From cc3be4bcd6e55756ac7df1a02e3c0b2f860138a3 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Thu, 22 Apr 2021 13:58:00 +0900 Subject: [PATCH 10/32] =?UTF-8?q?feat:=20Network=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 12 +++--- .../UserInterfaceState.xcuserstate | Bin 59954 -> 52510 bytes .../SideDishApp/Application/AppDelegate.swift | 2 - .../Data/Network/DishNetworkManager.swift | 32 +++++++++++++++ .../Data/Network/NetworkManager.swift | 26 ++++++------ .../Data/Network/SideDishNetworkManager.swift | 19 --------- .../SideDishApp/Domain/Entity/Dish.swift | 32 ++++++--------- .../Domain/UseCase/MenuListUseCase.swift | 12 ++++-- .../UI/ViewController/ViewController.swift | 36 ++++++++++++++++- .../ViewModel/MenuListViewModel.swift | 38 +++++++++++++++--- 10 files changed, 136 insertions(+), 73 deletions(-) create mode 100644 SideDishApp/SideDishApp/Data/Network/DishNetworkManager.swift delete mode 100644 SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index af19c7365..116d737c8 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -15,7 +15,7 @@ 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; - 1ECD5F6A262F3B6500DC56C0 /* SideDishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */; }; + 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */; }; 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */; }; 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */; }; 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */; }; @@ -32,7 +32,7 @@ 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; - 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideDishNetworkManager.swift; sourceTree = ""; }; + 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishNetworkManager.swift; sourceTree = ""; }; 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dish.swift; sourceTree = ""; }; 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListUseCase.swift; sourceTree = ""; }; 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListViewModel.swift; sourceTree = ""; }; @@ -89,7 +89,7 @@ children = ( 1ECD5F61262F256000DC56C0 /* Endpoint.swift */, 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */, - 1ECD5F69262F3B6500DC56C0 /* SideDishNetworkManager.swift */, + 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */, ); path = Network; sourceTree = ""; @@ -270,7 +270,7 @@ 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */, 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, - 1ECD5F6A262F3B6500DC56C0 /* SideDishNetworkManager.swift in Sources */, + 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */, 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */, @@ -423,7 +423,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SideDishApp/Info.plist; + INFOPLIST_FILE = SideDishApp/SupportingFiles/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -441,7 +441,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SideDishApp/Info.plist; + INFOPLIST_FILE = SideDishApp/SupportingFiles/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcodeproj/project.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index 84cbae8df0ff2fdf92b8906a6f38a007c15aede5..f140fba458b8392bed35583c07c1fcee568b6c65 100644 GIT binary patch delta 25775 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[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

B-1PUAU(0_qcPp|bbzf7 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 Hu@?S6XOOO- diff --git a/SideDishApp/SideDishApp/Application/AppDelegate.swift b/SideDishApp/SideDishApp/Application/AppDelegate.swift index 518bd48ce..5dc669d92 100644 --- a/SideDishApp/SideDishApp/Application/AppDelegate.swift +++ b/SideDishApp/SideDishApp/Application/AppDelegate.swift @@ -10,8 +10,6 @@ import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true diff --git a/SideDishApp/SideDishApp/Data/Network/DishNetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/DishNetworkManager.swift new file mode 100644 index 000000000..bd7142812 --- /dev/null +++ b/SideDishApp/SideDishApp/Data/Network/DishNetworkManager.swift @@ -0,0 +1,32 @@ +// +// SideDishNetworkManager.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/21. +// + +import Foundation +import Combine + +protocol DishNetworkManageable { + func getDishes(path: String) -> AnyPublisher<[Dishes], NetworkError> +} + +class DishNetworkManager: DishNetworkManageable { + private var networkManager: NetworkManageable + + init(networkManager: NetworkManageable) { + self.networkManager = networkManager + } + + convenience init() { + let networkManager = NetworkManager() + self.init(networkManager: networkManager) + } + + func getDishes(path: String) -> AnyPublisher<[Dishes], NetworkError> { + let url = Endpoint.get(path: path).url + + return networkManager.get(url: url) + } +} diff --git a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift index 461df7404..9e36be94b 100644 --- a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift +++ b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift @@ -8,47 +8,45 @@ import Foundation import Combine -class NetworkManager { +protocol NetworkManageable { + func get(url: URL?) -> AnyPublisher where T: Decodable +} + +class NetworkManager: NetworkManageable { func get(url: URL?) -> AnyPublisher where T: Decodable { guard let myUrl = url else { - return Fail(error: NetworkError.url).eraseToAnyPublisher() + return Fail(error: NetworkError.urlError).eraseToAnyPublisher() } return URLSession.shared.dataTaskPublisher(for: myUrl) - .mapError { _ in - NetworkError.networkConnection - } + .mapError { _ in NetworkError.networkConnection } + .flatMap { data, response -> AnyPublisher in guard let httpResponse = response as? HTTPURLResponse else { return Fail(error: NetworkError.responseNil).eraseToAnyPublisher() } - guard 200..<300 ~= httpResponse.statusCode else { return Fail(error: NetworkError.unknown).eraseToAnyPublisher() } - return Just(data) .decode(type: T.self, decoder: JSONDecoder()) - .mapError { _ in - NetworkError.parsing - }.eraseToAnyPublisher() - + .mapError { _ in NetworkError.parsing }.eraseToAnyPublisher() }.eraseToAnyPublisher() } } enum NetworkError: Error { - case url + case urlError case networkConnection case responseNil case parsing case unknown - + var description: String { switch self { - case .url: + case .urlError: return "url 오류" case .responseNil: return "응답 없음" diff --git a/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift deleted file mode 100644 index becae255f..000000000 --- a/SideDishApp/SideDishApp/Data/Network/SideDishNetworkManager.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// SideDishNetworkManager.swift -// SideDishApp -// -// Created by 오킹 on 2021/04/21. -// - -import Foundation -import Combine - -class SideDishNetworkManager { - let networkManager = NetworkManager() - - func getSideDishes() -> AnyPublisher<[Dishes], NetworkError> { - let url = Endpoint.get(path: "main").url - print(url) - return networkManager.get(url: url) - } -} diff --git a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift index f5064e7c6..bbad6e680 100644 --- a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift +++ b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift @@ -9,28 +9,20 @@ import Foundation // MARK: - Dishes struct Dishes: Codable { - let category: String - let name: String - let dishes: [Dish] + private let category: String + private(set) var name: String + private(set) var dishes: [Dish] } // MARK: - Dish struct Dish: Codable { - let dishId: String - let image: String - let alt: String - let deliveryType: String - let title: String - let description: String - let normalPrice: String - let sellingPrice: String? - let badge: String? - -// -// enum CodingKeys: String, CodingKey { -// case dishID = "dishId" -// case image, alt, deliveryType, title -// case dishDescription = "description" -// case normalPrice, sellingPrice, badge -// } + private let dishId: String + private(set) var image: String + private let alt: String + private(set) var deliveryType: String + private(set) var title: String + private(set) var description: String + private(set) var normalPrice: String + private(set) var sellingPrice: String? + private(set) var badge: String? } diff --git a/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift b/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift index b0b98cd3e..35318d4c7 100644 --- a/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift +++ b/SideDishApp/SideDishApp/Domain/UseCase/MenuListUseCase.swift @@ -8,11 +8,15 @@ import Foundation import Combine -class MenuListUseCase { +protocol MenuListUseCasePort { + func showMenu(food path: String) -> AnyPublisher<[Dishes], NetworkError> +} + +class MenuListUseCase: MenuListUseCasePort { - private let sideDishNetworkManager = SideDishNetworkManager() + private let sideDishNetworkManager = DishNetworkManager() - func showMenu() -> AnyPublisher<[Dishes], NetworkError> { - return sideDishNetworkManager.getSideDishes() + func showMenu(food path: String) -> AnyPublisher<[Dishes], NetworkError> { + return sideDishNetworkManager.getDishes(path: path) } } diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 49a6c0002..4dceb1f69 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -10,11 +10,43 @@ import Combine class ViewController: UIViewController { - let menuListViewModel = MenuListViewModel() + private let menuListViewModel = MenuListViewModel() + private var subscriptions = Set() override func viewDidLoad() { super.viewDidLoad() - menuListViewModel.fetchDishes() + bind() + menuListViewModel.requestDishes() + + } + + func bind() { + menuListViewModel.$main + .receive(on: DispatchQueue.main) + .sink(receiveCompletion: { _ in + //error + }, receiveValue: { _ in + print("메인 화면처리 해야함") + }) + .store(in: &subscriptions) + + menuListViewModel.$soup + .receive(on: DispatchQueue.main) + .sink(receiveCompletion: { _ in + //error + }, receiveValue: { _ in + print("수프 화면처리 해야함") + }) + .store(in: &subscriptions) + + menuListViewModel.$side + .receive(on: DispatchQueue.main) + .sink(receiveCompletion: { _ in + //error + }, receiveValue: { _ in + print("사이드 화면처리 해야함 ") + }) + .store(in: &subscriptions) } } diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift index 444849da7..aefad7812 100644 --- a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift +++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift @@ -9,16 +9,27 @@ import Foundation import Combine class MenuListViewModel { - private let menuListUseCase = MenuListUseCase() + private let menuListUseCase: MenuListUseCasePort private var subscriptions = Set() - @Published var dishes: [Dish] = [] + @Published var main: [Dishes] = [] + @Published var soup: [Dishes] = [] + @Published var side: [Dishes] = [] - func fetchDishes() { - menuListUseCase.showMenu() + init(menuListUseCase: MenuListUseCasePort) { + self.menuListUseCase = menuListUseCase + } + + convenience init() { + let menuListUseCase = MenuListUseCase() + self.init(menuListUseCase: menuListUseCase) + } + + func fetchDishes(dish: String) { + menuListUseCase.showMenu(food: dish) .sink(receiveCompletion: { result in switch result { case .finished: print("끝") - case .failure(.url): + case .failure(.urlError): /*에러처리*/ print("url") case .failure(.networkConnection): /*에러처리*/ print("networkConnection") @@ -32,8 +43,23 @@ class MenuListViewModel { receiveValue: { data in print("성공") + switch dish { + case "main": + self.main = data + case "soup": + self.soup = data + case "side": + self.side = data + default: + break + } }) .store(in: &subscriptions) - + } + + func requestDishes() { + fetchDishes(dish: "main") + //fetchDishes(dish: "soup") + //fetchDishes(dish: "side") } } From b4243e9c32d44e028b0a8ebb3b9f9a7cdb1d3b7b Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Thu, 22 Apr 2021 14:44:53 +0900 Subject: [PATCH 11/32] =?UTF-8?q?Feature=20:=20=EA=B8=B0=EB=B3=B8=20Sectio?= =?UTF-8?q?n=20Header=20=EC=A0=81=EC=9A=A9=20(#11)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/View/Base.lproj/Main.storyboard | 8 +++-- .../UI/ViewController/ViewController.swift | 32 +++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 22d94ee1c..7186b8b20 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -22,13 +22,13 @@ - + - + @@ -91,6 +91,10 @@ + + + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index dc5d2fdee..3c38528ce 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -11,13 +11,13 @@ class ViewController: UIViewController { @IBOutlet weak var dishCollectionView: UICollectionView! - var datasource : UICollectionViewDiffableDataSource! + var dataSource : UICollectionViewDiffableDataSource! let colorDictionary = ["이벤트특가" : UIColor.systemGreen, "런칭특가" : UIColor.systemBlue] override func viewDidLoad() { super.viewDidLoad() - datasource = configureDataSource() + dataSource = configureDataSource() let testCard = DishCardCell.init() let testCard1 = DishCardCell.init() @@ -33,8 +33,34 @@ class ViewController: UIViewController { // for section in section.allCases { // snapshot.appendItems([testCard], toSection: section) // } + + let headerRegistration = UICollectionView.SupplementaryRegistration + (elementKind: UICollectionView.elementKindSectionHeader) { + [unowned self] (headerView, elementKind, indexPath) in + + // Obtain header item using index path + let headerItem = self.dataSource.snapshot().sectionIdentifiers[indexPath.section] + + // Configure header view content based on headerItem + var configuration = headerView.defaultContentConfiguration() + configuration.text = headerItem.rawValue + + // Customize header appearance to make it more eye-catching + configuration.textProperties.font = .boldSystemFont(ofSize: 16) + configuration.textProperties.color = .systemBlue + + // Apply the configuration to header view + headerView.contentConfiguration = configuration + } + + dataSource.supplementaryViewProvider = { [unowned self] + (collectionView, elementKind, indexPath) -> UICollectionReusableView? in + + return self.dishCollectionView.dequeueConfiguredReusableSupplementary( + using: headerRegistration, for: indexPath) + } - datasource.apply(snapshot) + dataSource.apply(snapshot) } func configureDataSource() -> UICollectionViewDiffableDataSource { From 34149bf46d0971723e13f2f2a46c1d3cf61cedce Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Thu, 22 Apr 2021 15:28:14 +0900 Subject: [PATCH 12/32] =?UTF-8?q?feature=20:=20=ED=86=A0=EC=8A=A4=ED=84=B0?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80=20(#11)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp/Presentation/UI/View/DishCardCell.swift | 3 ++- .../Presentation/UI/ViewController/ViewController.swift | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift b/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift index 1b77ff661..4c8bce47a 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/View/DishCardCell.swift @@ -7,7 +7,8 @@ import UIKit -class DishCardCell : UICollectionViewCell { @IBOutlet weak var dishImage: UIImageView! +class DishCardCell : UICollectionViewCell { + @IBOutlet weak var dishImage: UIImageView! @IBOutlet weak var title: UILabel! @IBOutlet weak var body: UILabel! @IBOutlet weak var charge: UILabel! diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 3c38528ce..a8814d510 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -6,6 +6,7 @@ // import UIKit +import Toast_Swift class ViewController: UIViewController { @@ -49,6 +50,9 @@ class ViewController: UIViewController { configuration.textProperties.font = .boldSystemFont(ofSize: 16) configuration.textProperties.color = .systemBlue + let tap = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture(recognizer:))) + headerView.addGestureRecognizer(tap) + // Apply the configuration to header view headerView.contentConfiguration = configuration } @@ -101,6 +105,10 @@ class ViewController: UIViewController { return label } + @objc private func handleTapGesture(recognizer: UITapGestureRecognizer) { + self.view.makeToast("Toaster 출력 \(recognizer.view)") + } + } enum section : String, CaseIterable { From 989e1536c61a239a91c846b07e82b76339387480 Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Thu, 22 Apr 2021 17:47:09 +0900 Subject: [PATCH 13/32] =?UTF-8?q?Feature=20:=20localHost=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0=EC=9D=84=20=ED=86=B5=ED=95=9C=20cell=20property=20?= =?UTF-8?q?=EC=A7=80=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 20 ++++-- .../SideDishApp/Domain/Entity/Dish.swift | 8 +-- .../Extension/String+Extension.swift | 29 ++++++++ .../UI/View/Base.lproj/Main.storyboard | 2 +- .../UI/ViewController/ViewController.swift | 66 ++++++++++++------- 5 files changed, 92 insertions(+), 33 deletions(-) create mode 100644 SideDishApp/SideDishApp/Extension/String+Extension.swift diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 6ab83cc7f..53accaaf2 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ @@ -13,7 +13,6 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; - D8279798DA0A1BCEB97E7780 /* Pods_SideDishApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */; }; 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */; }; @@ -21,6 +20,8 @@ 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */; }; 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */; }; B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; }; + B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E9F26316B9A00D5EBEC /* String+Extension.swift */; }; + D8279798DA0A1BCEB97E7780 /* Pods_SideDishApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -31,18 +32,18 @@ 1E1DBAD8262DDDFC0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishNetworkManager.swift; sourceTree = ""; }; 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dish.swift; sourceTree = ""; }; 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListUseCase.swift; sourceTree = ""; }; 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListViewModel.swift; sourceTree = ""; }; - 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.debug.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig"; sourceTree = ""; }; 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.release.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig"; sourceTree = ""; }; 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SideDishApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B0911E6E262EA29200D5EBEC /* DishCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCardCell.swift; sourceTree = ""; }; + B0911E9F26316B9A00D5EBEC /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -86,6 +87,7 @@ 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */ = { isa = PBXGroup; children = ( + B0911E9E26316B8700D5EBEC /* Extension */, 1E1DBAF2262DDEE50050FE6C /* Application */, 1E1DBAEF262DDE990050FE6C /* Domain */, 1E1DBAE9262DDE0C0050FE6C /* Presentation */, @@ -222,10 +224,17 @@ 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */, 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; + B0911E9E26316B8700D5EBEC /* Extension */ = { + isa = PBXGroup; + children = ( + B0911E9F26316B9A00D5EBEC /* String+Extension.swift */, + ); + path = Extension; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -341,6 +350,7 @@ buildActionMask = 2147483647; files = ( 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */, + B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */, 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */, diff --git a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift index bbad6e680..3ff6f6e59 100644 --- a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift +++ b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift @@ -8,14 +8,14 @@ import Foundation // MARK: - Dishes -struct Dishes: Codable { +struct Dishes: Codable, Hashable { private let category: String private(set) var name: String private(set) var dishes: [Dish] } // MARK: - Dish -struct Dish: Codable { +struct Dish: Codable, Hashable { private let dishId: String private(set) var image: String private let alt: String @@ -23,6 +23,6 @@ struct Dish: Codable { private(set) var title: String private(set) var description: String private(set) var normalPrice: String - private(set) var sellingPrice: String? - private(set) var badge: String? + private(set) var sellingPrice: String + private(set) var badge: String } diff --git a/SideDishApp/SideDishApp/Extension/String+Extension.swift b/SideDishApp/SideDishApp/Extension/String+Extension.swift new file mode 100644 index 000000000..13e10cf04 --- /dev/null +++ b/SideDishApp/SideDishApp/Extension/String+Extension.swift @@ -0,0 +1,29 @@ +// +// String+Extension.swift +// SideDishApp +// +// Created by 이다훈 on 2021/04/22. +// + +import UIKit + +extension String { + + func addStroke(target words : String...) -> NSMutableAttributedString { + let attributedString = NSMutableAttributedString(string: self) + + for word in words { + attributedString.addAttribute(.strikethroughStyle, + value: NSUnderlineStyle.single.rawValue, + range: (self as NSString).range(of: "\(word)") + ) + + attributedString.addAttribute(.foregroundColor, + value: UIColor.systemGray2, + range: (self as NSString).range(of: "\(word)") + ) + } + + return attributedString + } +} diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 7186b8b20..905e81781 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -45,7 +45,7 @@ -

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 B@WcQB literal 115914 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift index 677eb1298..c56abdbd9 100644 --- a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift +++ b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift @@ -19,16 +19,19 @@ class NetworkManager: NetworkManageable { return Fail(error: NetworkError.urlError).eraseToAnyPublisher() } - + return URLSession.shared.dataTaskPublisher(for: myUrl) .mapError { _ in NetworkError.networkConnection } .flatMap { data, response -> AnyPublisher in + guard let httpResponse = response as? HTTPURLResponse else { return Fail(error: NetworkError.responseNil).eraseToAnyPublisher() } + guard 200..<300 ~= httpResponse.statusCode else { return Fail(error: NetworkError.unknown).eraseToAnyPublisher() } + completion(.success(data)) let decodeData = Just(data) .decode(type: T.self, decoder: JSONDecoder()) diff --git a/SideDishApp/SideDishApp/Data/Persistence/CoreDataMenuResponseStorage.swift b/SideDishApp/SideDishApp/Data/Persistence/CoreDataMenuResponseStorage.swift index 67748c064..8944e2aa9 100644 --- a/SideDishApp/SideDishApp/Data/Persistence/CoreDataMenuResponseStorage.swift +++ b/SideDishApp/SideDishApp/Data/Persistence/CoreDataMenuResponseStorage.swift @@ -73,16 +73,17 @@ class CoreDataMenuResponseStorage { } } - func loadSaveDataInCoreData(category: String) -> AnyPublisher<[Dishes], CoreDataError> { + func loadSaveDataInCoreData(category: String) -> AnyPublisher<[Dishes], CoreDataError>? { + self.context = persistentContainer.viewContext var result: [Dishes] = [] - var resultOut: Future<[Dishes], CoreDataError>! - + var resultOut: Future<[Dishes], CoreDataError>? + do { - self.context = persistentContainer.viewContext + let request: NSFetchRequest = DishesEntity.fetchRequest() request.predicate = NSPredicate(format: "category = %@", "\(category)") let contact = try context.fetch(request) - + contact.forEach { dishesEntity in guard let dishes = dishesEntity as? DishesEntity, let category = dishes.category, @@ -101,7 +102,8 @@ class CoreDataMenuResponseStorage { assertionFailure(error.localizedDescription) } } - return resultOut.eraseToAnyPublisher() + + return resultOut?.eraseToAnyPublisher() } func deleteAll(request: NSFetchRequest){ @@ -117,6 +119,7 @@ class CoreDataMenuResponseStorage { } func deleteCategory(_ category: String) { + self.context = persistentContainer.viewContext let request: NSFetchRequest = DishesEntity.fetchRequest() request.predicate = NSPredicate(format: "category = %@", "\(category)") let delete = NSBatchDeleteRequest(fetchRequest: request) @@ -126,7 +129,6 @@ class CoreDataMenuResponseStorage { } catch { assertionFailure(error.localizedDescription) - } } } diff --git a/SideDishApp/SideDishApp/Data/Repository/MenuRepository.swift b/SideDishApp/SideDishApp/Data/Repository/MenuRepository.swift index 17bf464e7..7afdf2ee8 100644 --- a/SideDishApp/SideDishApp/Data/Repository/MenuRepository.swift +++ b/SideDishApp/SideDishApp/Data/Repository/MenuRepository.swift @@ -7,12 +7,13 @@ import Foundation import Combine +import CoreData class MenuRepository { private let dishNetworkManager: DishNetworkManageable - private let cache = CoreDataMenuResponseStorage() - + private let cache = CoreDataMenuResponseStorage.shared + var subscription = Set() init(dishNetworkManager: DishNetworkManageable) { self.dishNetworkManager = dishNetworkManager } @@ -23,8 +24,33 @@ class MenuRepository { } func fetchMenuList(path: String) -> AnyPublisher<[Dishes], NetworkError> { + + guard (cache.loadSaveDataInCoreData(category: path) != nil) else { + return dishNetworkManager.getDishes(path: path) + { data in + switch data { + case .success(let data): + guard let dishes = try? JSONDecoder().decode([Dishes].self, from: data) else { + return + } + self.cache.deleteCategory(path) + self.cache.save(dishes) + + case .failure(let error): + assertionFailure(error.localizedDescription) + break + } + } + } + self.saveData(of: path) - dishNetworkManager.getDishes(path: path) { data in + return cache.loadSaveDataInCoreData(category: path)!.mapError { _ in NetworkError.unknown }.eraseToAnyPublisher() + } + + private func saveData(of path: String) { + + dishNetworkManager.getDishes(path: path) + { data in switch data { case .success(let data): guard let dishes = try? JSONDecoder().decode([Dishes].self, from: data) else { @@ -32,12 +58,12 @@ class MenuRepository { } self.cache.deleteCategory(path) self.cache.save(dishes) + case .failure(let error): assertionFailure(error.localizedDescription) break } - } - - return cache.loadSaveDataInCoreData(category: path).mapError { _ in NetworkError.unknown }.eraseToAnyPublisher() + }.sink(receiveCompletion: {_ in }, receiveValue: {_ in }) + .store(in: &subscription) } } diff --git a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift index b32a0204b..4c30933a6 100644 --- a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift +++ b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift @@ -40,6 +40,18 @@ public class Dish: NSObject, Codable, NSCoding { sellingPrice = coder.decodeObject(of: NSString.self, forKey: "sellingPrice") as String? ?? "" badge = coder.decodeObject(of: NSString.self, forKey: "badge") as String? ?? "" } + + init(dishID: String, title: String, image: String, alt: String, deliveryType: String, dishDescription: String, normalPrice: String, sellingPrice: String, badge: String) { + self.dishID = dishID + self.title = title + self.image = image + self.alt = alt + self.deliveryType = deliveryType + self.dishDescription = dishDescription + self.normalPrice = normalPrice + self.sellingPrice = sellingPrice + self.badge = badge + } private(set) var dishID: String private(set) var image: String diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 9e9eec86d..d93bd9090 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -67,6 +67,7 @@ class ViewController: UIViewController { self.snapshot.appendSections(soupDishesArray) self.snapshot.appendItems(soupDishes.dishes, toSection: soupDishes) self.dataSource.apply(self.snapshot) + self.loadingView.removeFromSuperview() }) .store(in: &subscriptions) @@ -83,6 +84,7 @@ class ViewController: UIViewController { self.snapshot.appendSections(sideDishesArray) self.snapshot.appendItems(sideDishes.dishes, toSection: sideDishes) self.dataSource.apply(self.snapshot) + self.loadingView.removeFromSuperview() }) .store(in: &subscriptions) } diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift index c5d03e9bf..fdef03cae 100644 --- a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift +++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift @@ -15,6 +15,7 @@ class MenuListViewModel { @Published var main: [Dishes] = [] @Published var soup: [Dishes] = [] @Published var side: [Dishes] = [] + private let cache = CoreDataMenuResponseStorage.shared init(menuListUseCase: MenuListUseCasePort) { self.menuListUseCase = menuListUseCase @@ -54,6 +55,7 @@ class MenuListViewModel { default: break } + }) .store(in: &subscriptions) } From 0d849bf4564e5e1ee068f6b2f3618c896178099d Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Wed, 28 Apr 2021 19:09:50 +0900 Subject: [PATCH 26/32] =?UTF-8?q?Test:=20MockNetwork=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=EC=99=80=20UnitTest=EC=9E=91=EC=84=B1=20(#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 145 +++++++++++++++++- .../SideDishApp/Application/AppDelegate.swift | 20 --- .../Data/Network/MockNetworkManager.swift | 46 ++++++ .../Data/Network/NetworkManager.swift | 10 +- .../SideDishApp/Domain/Entity/Dish.swift | 25 ++- SideDishApp/SideDishAppTests/Info.plist | 22 +++ .../SideDishAppTests/NetworkTests.swift | 34 ++++ .../SideDishAppTests/SideDishAppTests.swift | 32 ++++ SideDishApp/SideDishAppTests/testData.json | 6 + 9 files changed, 314 insertions(+), 26 deletions(-) create mode 100644 SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift create mode 100644 SideDishApp/SideDishAppTests/Info.plist create mode 100644 SideDishApp/SideDishAppTests/NetworkTests.swift create mode 100644 SideDishApp/SideDishAppTests/SideDishAppTests.swift create mode 100644 SideDishApp/SideDishAppTests/testData.json diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index bd85f5bde..d46678f99 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -24,12 +24,27 @@ 1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */; }; 1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */; }; 1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */; }; + B04466392637B17600DAD616 /* MockNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466382637B17600DAD616 /* MockNetworkManager.swift */; }; + B04466432638149900DAD616 /* SideDishAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466422638149900DAD616 /* SideDishAppTests.swift */; }; + B044664D263814B400DAD616 /* NetworkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B044664C263814B400DAD616 /* NetworkTests.swift */; }; + B04466512638152200DAD616 /* testData.json in Resources */ = {isa = PBXBuildFile; fileRef = B04466502638152200DAD616 /* testData.json */; }; + B044665D26383DD500DAD616 /* testData.json in Resources */ = {isa = PBXBuildFile; fileRef = B04466502638152200DAD616 /* testData.json */; }; B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; }; B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E9F26316B9A00D5EBEC /* String+Extension.swift */; }; B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */; }; D8279798DA0A1BCEB97E7780 /* Pods_SideDishApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + B04466452638149900DAD616 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1E1DBAC6262DDDFC0050FE6C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1E1DBACD262DDDFC0050FE6C; + remoteInfo = SideDishApp; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SideDishApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1E1DBAD1262DDDFC0050FE6C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -53,6 +68,12 @@ 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.debug.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig"; sourceTree = ""; }; 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.release.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig"; sourceTree = ""; }; 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SideDishApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B04466382637B17600DAD616 /* MockNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockNetworkManager.swift; sourceTree = ""; }; + B04466402638149900DAD616 /* SideDishAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SideDishAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + B04466422638149900DAD616 /* SideDishAppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideDishAppTests.swift; sourceTree = ""; }; + B04466442638149900DAD616 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B044664C263814B400DAD616 /* NetworkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkTests.swift; sourceTree = ""; }; + B04466502638152200DAD616 /* testData.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = testData.json; sourceTree = ""; }; B0911E6E262EA29200D5EBEC /* DishCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCardCell.swift; sourceTree = ""; }; B0911E9F26316B9A00D5EBEC /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiffableProvider.swift; sourceTree = ""; }; @@ -67,6 +88,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B044663D2638149900DAD616 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -82,6 +110,7 @@ isa = PBXGroup; children = ( 1E1DBAD0262DDDFC0050FE6C /* SideDishApp */, + B04466412638149900DAD616 /* SideDishAppTests */, 1E1DBACF262DDDFC0050FE6C /* Products */, 25F4FE78497FA432687D2A6F /* Pods */, 134494D3AD3A3BAD38EFF6AF /* Frameworks */, @@ -92,6 +121,7 @@ isa = PBXGroup; children = ( 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */, + B04466402638149900DAD616 /* SideDishAppTests.xctest */, ); name = Products; sourceTree = ""; @@ -123,6 +153,7 @@ children = ( 1ECD5F61262F256000DC56C0 /* Endpoint.swift */, 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */, + B04466382637B17600DAD616 /* MockNetworkManager.swift */, 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */, ); path = Network; @@ -245,6 +276,17 @@ path = Pods; sourceTree = ""; }; + B04466412638149900DAD616 /* SideDishAppTests */ = { + isa = PBXGroup; + children = ( + B04466502638152200DAD616 /* testData.json */, + B04466422638149900DAD616 /* SideDishAppTests.swift */, + B04466442638149900DAD616 /* Info.plist */, + B044664C263814B400DAD616 /* NetworkTests.swift */, + ); + path = SideDishAppTests; + sourceTree = ""; + }; B0911E9E26316B8700D5EBEC /* Extension */ = { isa = PBXGroup; children = ( @@ -275,18 +317,40 @@ productReference = 1E1DBACE262DDDFC0050FE6C /* SideDishApp.app */; productType = "com.apple.product-type.application"; }; + B044663F2638149900DAD616 /* SideDishAppTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = B04466472638149900DAD616 /* Build configuration list for PBXNativeTarget "SideDishAppTests" */; + buildPhases = ( + B044663C2638149900DAD616 /* Sources */, + B044663D2638149900DAD616 /* Frameworks */, + B044663E2638149900DAD616 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + B04466462638149900DAD616 /* PBXTargetDependency */, + ); + name = SideDishAppTests; + productName = SideDishAppTests; + productReference = B04466402638149900DAD616 /* SideDishAppTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 1E1DBAC6262DDDFC0050FE6C /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1230; + LastSwiftUpdateCheck = 1240; LastUpgradeCheck = 1230; TargetAttributes = { 1E1DBACD262DDDFC0050FE6C = { CreatedOnToolsVersion = 12.3; }; + B044663F2638149900DAD616 = { + CreatedOnToolsVersion = 12.4; + TestTargetID = 1E1DBACD262DDDFC0050FE6C; + }; }; }; buildConfigurationList = 1E1DBAC9262DDDFC0050FE6C /* Build configuration list for PBXProject "SideDishApp" */; @@ -303,6 +367,7 @@ projectRoot = ""; targets = ( 1E1DBACD262DDDFC0050FE6C /* SideDishApp */, + B044663F2638149900DAD616 /* SideDishAppTests */, ); }; /* End PBXProject section */ @@ -314,11 +379,20 @@ files = ( 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */, 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */, + B044665D26383DD500DAD616 /* testData.json in Resources */, 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */, 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; + B044663E2638149900DAD616 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B04466512638152200DAD616 /* testData.json in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -382,13 +456,31 @@ B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */, B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, + B04466392637B17600DAD616 /* MockNetworkManager.swift in Sources */, 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */, 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; + B044663C2638149900DAD616 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B044664D263814B400DAD616 /* NetworkTests.swift in Sources */, + B04466432638149900DAD616 /* SideDishAppTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + B04466462638149900DAD616 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1E1DBACD262DDDFC0050FE6C /* SideDishApp */; + targetProxy = B04466452638149900DAD616 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -563,6 +655,48 @@ }; name = Release; }; + B04466482638149900DAD616 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PSH4C5839A; + INFOPLIST_FILE = SideDishAppTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.Dahun-Lee.SideDishAppTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SideDishApp.app/SideDishApp"; + }; + name = Debug; + }; + B04466492638149900DAD616 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PSH4C5839A; + INFOPLIST_FILE = SideDishAppTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.Dahun-Lee.SideDishAppTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SideDishApp.app/SideDishApp"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -584,6 +718,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B04466472638149900DAD616 /* Build configuration list for PBXNativeTarget "SideDishAppTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B04466482638149900DAD616 /* Debug */, + B04466492638149900DAD616 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ diff --git a/SideDishApp/SideDishApp/Application/AppDelegate.swift b/SideDishApp/SideDishApp/Application/AppDelegate.swift index ae80ca80c..3c208dde8 100644 --- a/SideDishApp/SideDishApp/Application/AppDelegate.swift +++ b/SideDishApp/SideDishApp/Application/AppDelegate.swift @@ -10,26 +10,6 @@ import CoreData @main class AppDelegate: UIResponder, UIApplicationDelegate { - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - - // MARK: UISceneSession Lifecycle - - func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) - } - - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. - } - // MARK: - Core Data stack lazy var persistentContainer: NSPersistentContainer = { /* diff --git a/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift new file mode 100644 index 000000000..78152cd06 --- /dev/null +++ b/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift @@ -0,0 +1,46 @@ +// +// MockNetworkManager.swift +// SideDishApp +// +// Created by 이다훈 on 2021/04/27. +// + +import Foundation +import Combine + +protocol URLSessionProtocol { + func dataTaskPublisher(for url: URL) -> URLSession.DataTaskPublisher +} + +extension URLSession : URLSessionProtocol{ +} + +struct MockNetworkSessionSuccess : URLSessionProtocol { + func dataTaskPublisher(for url: URL) -> URLSession.DataTaskPublisher { + + return URLSession.shared.dataTaskPublisher(for: Bundle.main.url(forResource: "testData", withExtension: "json")!) + } +} + +class MockNetworkManager : NetworkManager { + override func get(url: URL?) -> AnyPublisher where T : Decodable { + + guard let myUrl = url else { + return Fail(error: NetworkError.urlError).eraseToAnyPublisher() + } + + return session.dataTaskPublisher(for: myUrl) + .mapError { _ in NetworkError.networkConnection } + .flatMap { data, response -> AnyPublisher in + return Just(data) + .decode(type: T.self, decoder: JSONDecoder()) + .mapError { error in + print(error.localizedDescription) + return NetworkError.parsing }.eraseToAnyPublisher() + }.eraseToAnyPublisher() + } + + +} + + diff --git a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift index 9e36be94b..2ece4a2ad 100644 --- a/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift +++ b/SideDishApp/SideDishApp/Data/Network/NetworkManager.swift @@ -14,15 +14,19 @@ protocol NetworkManageable { class NetworkManager: NetworkManageable { + let session: URLSessionProtocol + + init(session: URLSessionProtocol = URLSession.shared) { + self.session = session + } + func get(url: URL?) -> AnyPublisher where T: Decodable { guard let myUrl = url else { - return Fail(error: NetworkError.urlError).eraseToAnyPublisher() } - return URLSession.shared.dataTaskPublisher(for: myUrl) + return session.dataTaskPublisher(for: myUrl) .mapError { _ in NetworkError.networkConnection } - .flatMap { data, response -> AnyPublisher in guard let httpResponse = response as? HTTPURLResponse else { return Fail(error: NetworkError.responseNil).eraseToAnyPublisher() diff --git a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift index 29b90eecb..7bffe0ca1 100644 --- a/SideDishApp/SideDishApp/Domain/Entity/Dish.swift +++ b/SideDishApp/SideDishApp/Domain/Entity/Dish.swift @@ -8,16 +8,37 @@ import Foundation // MARK: - Dishes -struct Dishes: Codable, Hashable { +struct Dishes: Codable, Hashable, Equatable { private(set) var category: String private(set) var name: String private(set) var dishes: [Dish] } // MARK: - Dish -public class Dish: NSObject, Codable, NSSecureCoding,NSCoding { +public class Dish: NSObject, Codable, NSSecureCoding, NSCoding { public static var supportsSecureCoding: Bool = true + init(dishID: String, + image: String, + alt: String, + deliveryType: String, + title: String, + dishDescription: String, + normalPrice: String, + sellingPrice: String, + badge: String) { + self.dishID = dishID + self.image = image + self.alt = alt + self.deliveryType = deliveryType + self.title = title + self.dishDescription = dishDescription + self.normalPrice = normalPrice + self.sellingPrice = sellingPrice + self.badge = badge + } + + public func encode(with coder: NSCoder) { coder.encode(dishID, forKey: "dishId") coder.encode(title, forKey: "title") diff --git a/SideDishApp/SideDishAppTests/Info.plist b/SideDishApp/SideDishAppTests/Info.plist new file mode 100644 index 000000000..64d65ca49 --- /dev/null +++ b/SideDishApp/SideDishAppTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/SideDishApp/SideDishAppTests/NetworkTests.swift b/SideDishApp/SideDishAppTests/NetworkTests.swift new file mode 100644 index 000000000..56c915907 --- /dev/null +++ b/SideDishApp/SideDishAppTests/NetworkTests.swift @@ -0,0 +1,34 @@ +// +// NetworkTests.swift +// SideDishAppTests +// +// Created by 이다훈 on 2021/04/27. +// +import XCTest +import Combine +@testable import SideDishApp + +class NetworkTests: XCTestCase { + private var sut: DishNetworkManager! + private var subScribtion = Set() + override func setUp() { + sut = DishNetworkManager.init(networkManager: MockNetworkManager(session: MockNetworkSessionSuccess())) + } + + func testDataTaskPublisher() { + let expt = expectation(description: "waiting......") + var result = [Dishes.init(category: "", name: "", dishes: [])] + let answer = Dishes.init(category: "test", name: "success", dishes: []) + + sut.getDishes(path: "test") + .sink(receiveCompletion: { response in + }, receiveValue: { data in + result = data + expt.fulfill() + }) + .store(in: &subScribtion) + waitForExpectations(timeout: 5.0, handler: nil) + XCTAssertEqual(result.first, answer) + } + +} diff --git a/SideDishApp/SideDishAppTests/SideDishAppTests.swift b/SideDishApp/SideDishAppTests/SideDishAppTests.swift new file mode 100644 index 000000000..c987af59b --- /dev/null +++ b/SideDishApp/SideDishAppTests/SideDishAppTests.swift @@ -0,0 +1,32 @@ +// +// SideDishAppTests.swift +// SideDishAppTests +// +// Created by 이다훈 on 2021/04/27. +// + +import XCTest + +class SideDishAppTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/SideDishApp/SideDishAppTests/testData.json b/SideDishApp/SideDishAppTests/testData.json new file mode 100644 index 000000000..9908b7064 --- /dev/null +++ b/SideDishApp/SideDishAppTests/testData.json @@ -0,0 +1,6 @@ +[{ + "category": "test", + "name" : "success", + "dishes" : [ + ] +}] From 426785a2253429d74ab5bb6a3b5343bbb7566586 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Wed, 28 Apr 2021 19:18:31 +0900 Subject: [PATCH 27/32] =?UTF-8?q?feat:=20LoadingViewController=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20(#24)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/xcschememanagement.plist | 4 +- .../SideDishApp.xcodeproj/project.pbxproj | 6 +- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 144280 -> 149952 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 117 ------------------ .../UI/View/Base.lproj/Main.storyboard | 33 ++++- .../LoadingViewController.swift | 34 +++++ .../UI/ViewController/ViewController.swift | 7 +- .../ViewModel/MenuListViewModel.swift | 5 +- 9 files changed, 76 insertions(+), 132 deletions(-) create mode 100644 SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index 5680e7be7..171ae30bf 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ Pods-SideDishApp.xcscheme_^#shared#^_ orderHint - 1 + 2 Toast-Swift.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index fc1afdb51..daf70025e 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; 1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */; }; 1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */; }; + 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E50540A26395ADB005615F5 /* LoadingViewController.swift */; }; 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */; }; @@ -26,7 +27,6 @@ 1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */; }; 1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */; }; 1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */; }; - B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; }; B04466292636911D00DAD616 /* DishCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466272636911D00DAD616 /* DishCell.swift */; }; B044662A2636911D00DAD616 /* DishCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B04466282636911D00DAD616 /* DishCell.xib */; }; B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E9F26316B9A00D5EBEC /* String+Extension.swift */; }; @@ -46,6 +46,7 @@ 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataClass.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataClass.swift"; sourceTree = ""; }; 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataProperties.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataProperties.swift"; sourceTree = ""; }; + 1E50540A26395ADB005615F5 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishNetworkManager.swift; sourceTree = ""; }; @@ -179,7 +180,6 @@ isa = PBXGroup; children = ( 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */, - B0911E6E262EA29200D5EBEC /* DishCardCell.swift */, 1ECF2E802632A70F006982BE /* LoadingView.xib */, 1ECF2E832632A862006982BE /* LoadingView.swift */, B04466272636911D00DAD616 /* DishCell.swift */, @@ -191,6 +191,7 @@ 1E1DBAED262DDE640050FE6C /* ViewController */ = { isa = PBXGroup; children = ( + 1E50540A26395ADB005615F5 /* LoadingViewController.swift */, 1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */, B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */, B0911EA72632B7A000D5EBEC /* DishCollectionViewDelegate.swift */, @@ -390,6 +391,7 @@ 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */, + 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */, 1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */, B04466292636911D00DAD616 /* DishCell.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index edf0a7777..3ca11deb8 100644 --- a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ SideDishApp.xcscheme_^#shared#^_ orderHint - 2 + 0 diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index 47d2742fe67b4ab78c1ac15d1ec104aba6629453..8a539a7e54a3579edf4b3ec24b03295b094495f4 100644 GIT binary patch literal 149952 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 ai{StMv&*3W{_n{*{r7+W|G&eH!T$mkHklm& literal 144280 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 NzyJUL{|$O~{SW$S0(bxb diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 95fed2708..df9ecdbf5 100644 --- a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,121 +3,4 @@ uuid = "A5E17B2F-95B0-4582-ACBD-4CD3BE453B84" type = "0" version = "2.0"> - - - - - - - - - - - - - - - - - - - - - - - - - >>>>>> Dev-iOS - landmarkType = "7"> - - - diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 8c36ff540..7413c7c10 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ - + @@ -114,10 +114,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -133,6 +159,7 @@ + diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift new file mode 100644 index 000000000..da380297a --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift @@ -0,0 +1,34 @@ +// +// LoadingViewController.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/28. +// + +import UIKit + +class LoadingViewController: UIViewController { + + private let menuListViewModel = MenuListViewModel() + + override func viewDidLoad() { + super.viewDidLoad() + + } + + override func viewDidAppear(_ animated: Bool) { + menuListViewModel.requestDishes() { + nextPage() + } + } + + private func nextPage() { + guard let nextPage = self.storyboard?.instantiateViewController(identifier: "ViewController") as? ViewController else { + return + } + nextPage.menuListViewModel = self.menuListViewModel + nextPage.bind() + nextPage.modalPresentationStyle = .fullScreen + self.present(nextPage, animated: false, completion: nil) + } +} diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 52e9b9e3c..a2c6a8787 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -13,7 +13,8 @@ class ViewController: UIViewController { @IBOutlet weak var dishCollectionView: UICollectionView! - private let menuListViewModel = MenuListViewModel() + ///LoadingView에서 주입 + var menuListViewModel: MenuListViewModel! private var subscriptions = Set() private var loadingView = LoadingView() var dataSource : UICollectionViewDiffableDataSource! @@ -23,11 +24,8 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - setLoadingView() dishCollectionView.delegate = dishCollectionViewDelegate dataSource = DiffableProvider().configureDataSource(collectionView: dishCollectionView) - bind() - menuListViewModel.requestDishes() } func setLoadingView() { @@ -54,7 +52,6 @@ class ViewController: UIViewController { .sink(receiveCompletion: { _ in //error }, receiveValue: { mainDishes in - self.loadingView.removeFromSuperview() self.addDataToSnapshot(dishes: mainDishes) }) .store(in: &subscriptions) diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift index 87b621428..60d7deeb5 100644 --- a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift +++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift @@ -31,7 +31,7 @@ class MenuListViewModel { .sink(receiveCompletion: { result in switch result { case .finished: - break + print("완료 해쪄욤") case .failure(.urlError): assertionFailure("url") case .failure(.networkConnection): @@ -60,9 +60,10 @@ class MenuListViewModel { .store(in: &subscriptions) } - func requestDishes() { + func requestDishes(completion: () -> Void) { fetchDishes(dish: "main") fetchDishes(dish: "soup") fetchDishes(dish: "side") + completion() } } From de5f89172a22c732df30e053624b82986f1af770 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Wed, 28 Apr 2021 19:21:57 +0900 Subject: [PATCH 28/32] =?UTF-8?q?chore:=20=EA=B8=B0=EC=A1=B4=20LoadingView?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C=20(#24)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 8 ---- .../UserInterfaceState.xcuserstate | Bin 149952 -> 149997 bytes .../Presentation/UI/View/LoadingView.swift | 30 -------------- .../Presentation/UI/View/LoadingView.xib | 38 ------------------ .../UI/ViewController/ViewController.swift | 11 +---- 5 files changed, 1 insertion(+), 86 deletions(-) delete mode 100644 SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift delete mode 100644 SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index daf70025e..5040aa1e4 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -22,8 +22,6 @@ 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */; }; 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */; }; 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */; }; - 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1ECF2E802632A70F006982BE /* LoadingView.xib */; }; - 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2E832632A862006982BE /* LoadingView.swift */; }; 1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */; }; 1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */; }; 1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */; }; @@ -53,8 +51,6 @@ 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dish.swift; sourceTree = ""; }; 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListUseCase.swift; sourceTree = ""; }; 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListViewModel.swift; sourceTree = ""; }; - 1ECF2E802632A70F006982BE /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; - 1ECF2E832632A862006982BE /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuRepository.swift; sourceTree = ""; }; 1ECF2EBF2635DE65006982BE /* CoreData.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CoreData.xcdatamodel; sourceTree = ""; }; 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataMenuResponseStorage.swift; sourceTree = ""; }; @@ -180,8 +176,6 @@ isa = PBXGroup; children = ( 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */, - 1ECF2E802632A70F006982BE /* LoadingView.xib */, - 1ECF2E832632A862006982BE /* LoadingView.swift */, B04466272636911D00DAD616 /* DishCell.swift */, B04466282636911D00DAD616 /* DishCell.xib */, ); @@ -328,7 +322,6 @@ buildActionMask = 2147483647; files = ( 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */, - 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */, B044662A2636911D00DAD616 /* DishCell.xib in Resources */, 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */, 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */, @@ -401,7 +394,6 @@ B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */, B0911EA82632B7A100D5EBEC /* DishCollectionViewDelegate.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, - 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */, 1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */, 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */, ); diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index 8a539a7e54a3579edf4b3ec24b03295b094495f4..a82b0efca9c79c3e1e574729be336c85d641d5b0 100644 GIT binary patch literal 149997 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⁢rKNN%WYJQ}K*g{$mX@;d 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μ%(_?^70V#C@dPpm!*>>&eGY^#S(An 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 ai{StMv&*3W{_n{*{r7+W|G&eH!T$mkHklm& diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift b/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift deleted file mode 100644 index 6505d4686..000000000 --- a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// LoadingView.swift -// SideDishApp -// -// Created by 오킹 on 2021/04/23. -// - -import UIKit - -class LoadingView: UIView { - - @IBOutlet weak var imageView: UIImageView! - - override init(frame: CGRect) { - super.init(frame: frame) - initXIB() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - initXIB() - } - - func initXIB() { - guard let view = Bundle.main.loadNibNamed("LoadingView", owner: self, options: nil)?.first as? UIView else { return } - - view.frame = self.bounds - self.addSubview(view) - } -} diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib b/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib deleted file mode 100644 index 26d92a6de..000000000 --- a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index a2c6a8787..31b251b7c 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -13,10 +13,8 @@ class ViewController: UIViewController { @IBOutlet weak var dishCollectionView: UICollectionView! - ///LoadingView에서 주입 var menuListViewModel: MenuListViewModel! private var subscriptions = Set() - private var loadingView = LoadingView() var dataSource : UICollectionViewDiffableDataSource! let dishCollectionViewDelegate = DishCollectionViewDelegate() var snapshot = NSDiffableDataSourceSnapshot() @@ -27,14 +25,7 @@ class ViewController: UIViewController { dishCollectionView.delegate = dishCollectionViewDelegate dataSource = DiffableProvider().configureDataSource(collectionView: dishCollectionView) } - - func setLoadingView() { - let loadingiewFrame = CGRect(x: 0, y: 0, width: 100, height: 100) - loadingView = LoadingView(frame: loadingiewFrame) - loadingView.center = self.view.center - self.view.addSubview(loadingView) - } - + private func addDataToSnapshot (dishes: [Dishes]) { let dishesArray = dishes as Array From 9e8d6b629e5c9ebf30632cf68526c51e825b5478 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Wed, 28 Apr 2021 21:23:22 +0900 Subject: [PATCH 29/32] =?UTF-8?q?chore:=20print=EB=AC=B8=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20(#24)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp/Presentation/ViewModel/MenuListViewModel.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift index 60d7deeb5..af795f1be 100644 --- a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift +++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift @@ -31,7 +31,7 @@ class MenuListViewModel { .sink(receiveCompletion: { result in switch result { case .finished: - print("완료 해쪄욤") + break case .failure(.urlError): assertionFailure("url") case .failure(.networkConnection): From 0981bd521a8d091036262e5a2217c4f741d4248e Mon Sep 17 00:00:00 2001 From: dahun-lee-daji Date: Wed, 28 Apr 2021 21:34:39 +0900 Subject: [PATCH 30/32] =?UTF-8?q?Chore:=20=EB=B3=80=EA=B2=BD=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EC=A0=81=EC=9A=A9=20(#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SideDishApp.xcodeproj/project.pbxproj | 28 ++++++++----------- .../Data/Network/MockNetworkManager.swift | 2 +- .../SideDishAppTests/NetworkTests.swift | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 3ec3faae7..5ead41456 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -13,8 +13,6 @@ 1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */; }; 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */; }; 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; }; - 1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */; }; - 1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */; }; 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E50540A26395ADB005615F5 /* LoadingViewController.swift */; }; 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; @@ -25,14 +23,15 @@ 1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */; }; 1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */; }; 1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */; }; + B04466292636911D00DAD616 /* DishCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466272636911D00DAD616 /* DishCell.swift */; }; + B044662A2636911D00DAD616 /* DishCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B04466282636911D00DAD616 /* DishCell.xib */; }; B04466392637B17600DAD616 /* MockNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466382637B17600DAD616 /* MockNetworkManager.swift */; }; B04466432638149900DAD616 /* SideDishAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466422638149900DAD616 /* SideDishAppTests.swift */; }; B044664D263814B400DAD616 /* NetworkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B044664C263814B400DAD616 /* NetworkTests.swift */; }; B04466512638152200DAD616 /* testData.json in Resources */ = {isa = PBXBuildFile; fileRef = B04466502638152200DAD616 /* testData.json */; }; B044665D26383DD500DAD616 /* testData.json in Resources */ = {isa = PBXBuildFile; fileRef = B04466502638152200DAD616 /* testData.json */; }; - B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; }; - B04466292636911D00DAD616 /* DishCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466272636911D00DAD616 /* DishCell.swift */; }; - B044662A2636911D00DAD616 /* DishCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B04466282636911D00DAD616 /* DishCell.xib */; }; + B044666526398D2A00DAD616 /* DishesEntity+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = B044666426398D2A00DAD616 /* DishesEntity+CoreDataClass.swift */; }; + B044666926398D3600DAD616 /* DishesEntity+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = B044666826398D3600DAD616 /* DishesEntity+CoreDataProperties.swift */; }; B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E9F26316B9A00D5EBEC /* String+Extension.swift */; }; B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */; }; B0911EA82632B7A100D5EBEC /* DishCollectionViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911EA72632B7A000D5EBEC /* DishCollectionViewDelegate.swift */; }; @@ -58,8 +57,6 @@ 1E1DBADA262DDDFD0050FE6C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1E1DBADD262DDDFD0050FE6C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; - 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataClass.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataClass.swift"; sourceTree = ""; }; - 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataProperties.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataProperties.swift"; sourceTree = ""; }; 1E50540A26395ADB005615F5 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; @@ -73,15 +70,16 @@ 4942C5A177086C5C99933038 /* Pods-SideDishApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.debug.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.debug.xcconfig"; sourceTree = ""; }; 605A37FD869863C7E023EE85 /* Pods-SideDishApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SideDishApp.release.xcconfig"; path = "Target Support Files/Pods-SideDishApp/Pods-SideDishApp.release.xcconfig"; sourceTree = ""; }; 96A87B12151B0D006007CD63 /* Pods_SideDishApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SideDishApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B04466272636911D00DAD616 /* DishCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCell.swift; sourceTree = ""; }; + B04466282636911D00DAD616 /* DishCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DishCell.xib; sourceTree = ""; }; B04466382637B17600DAD616 /* MockNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockNetworkManager.swift; sourceTree = ""; }; B04466402638149900DAD616 /* SideDishAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SideDishAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; B04466422638149900DAD616 /* SideDishAppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideDishAppTests.swift; sourceTree = ""; }; B04466442638149900DAD616 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B044664C263814B400DAD616 /* NetworkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkTests.swift; sourceTree = ""; }; B04466502638152200DAD616 /* testData.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = testData.json; sourceTree = ""; }; - B0911E6E262EA29200D5EBEC /* DishCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCardCell.swift; sourceTree = ""; }; - B04466272636911D00DAD616 /* DishCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCell.swift; sourceTree = ""; }; - B04466282636911D00DAD616 /* DishCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DishCell.xib; sourceTree = ""; }; + B044666426398D2A00DAD616 /* DishesEntity+CoreDataClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DishesEntity+CoreDataClass.swift"; sourceTree = ""; }; + B044666826398D3600DAD616 /* DishesEntity+CoreDataProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DishesEntity+CoreDataProperties.swift"; sourceTree = ""; }; B0911E9F26316B9A00D5EBEC /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiffableProvider.swift; sourceTree = ""; }; B0911EA72632B7A000D5EBEC /* DishCollectionViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishCollectionViewDelegate.swift; sourceTree = ""; }; @@ -150,8 +148,8 @@ 1E1DBAE6262DDE040050FE6C /* Persistence */ = { isa = PBXGroup; children = ( - 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */, - 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */, + B044666826398D3600DAD616 /* DishesEntity+CoreDataProperties.swift */, + B044666426398D2A00DAD616 /* DishesEntity+CoreDataClass.swift */, 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */, 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */, ); @@ -389,7 +387,6 @@ buildActionMask = 2147483647; files = ( 1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */, - 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */, B044665D26383DD500DAD616 /* testData.json in Resources */, B044662A2636911D00DAD616 /* DishCell.xib in Resources */, 1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */, @@ -462,7 +459,6 @@ 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */, 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */, - 1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */, B04466292636911D00DAD616 /* DishCell.swift in Sources */, 1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */, 1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */, @@ -470,10 +466,10 @@ 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */, B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */, B0911EA82632B7A100D5EBEC /* DishCollectionViewDelegate.swift in Sources */, + B044666926398D3600DAD616 /* DishesEntity+CoreDataProperties.swift in Sources */, 1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */, B04466392637B17600DAD616 /* MockNetworkManager.swift in Sources */, - 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */, - 1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */, + B044666526398D2A00DAD616 /* DishesEntity+CoreDataClass.swift in Sources */, 1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift b/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift index 78152cd06..0c21cf511 100644 --- a/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift +++ b/SideDishApp/SideDishApp/Data/Network/MockNetworkManager.swift @@ -23,7 +23,7 @@ struct MockNetworkSessionSuccess : URLSessionProtocol { } class MockNetworkManager : NetworkManager { - override func get(url: URL?) -> AnyPublisher where T : Decodable { + override func get(url: URL?, completion: @escaping (Result) -> Void) -> AnyPublisher where T : Decodable { guard let myUrl = url else { return Fail(error: NetworkError.urlError).eraseToAnyPublisher() diff --git a/SideDishApp/SideDishAppTests/NetworkTests.swift b/SideDishApp/SideDishAppTests/NetworkTests.swift index 56c915907..5137ae3c0 100644 --- a/SideDishApp/SideDishAppTests/NetworkTests.swift +++ b/SideDishApp/SideDishAppTests/NetworkTests.swift @@ -20,7 +20,7 @@ class NetworkTests: XCTestCase { var result = [Dishes.init(category: "", name: "", dishes: [])] let answer = Dishes.init(category: "test", name: "success", dishes: []) - sut.getDishes(path: "test") + sut.getDishes(path: "test", completion:{_ in }) .sink(receiveCompletion: { response in }, receiveValue: { data in result = data From f2b2e4a2e493c12ccc073cc9e6fbea168a467494 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Thu, 29 Apr 2021 23:47:50 +0900 Subject: [PATCH 31/32] =?UTF-8?q?feat:=20DetailView=20=EA=B5=AC=EC=A1=B0?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/xcschememanagement.plist | 2 +- .../SideDishApp.xcodeproj/project.pbxproj | 4 + .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 149997 -> 137758 bytes .../UI/View/Base.lproj/Main.storyboard | 305 +++++++++++++++++- .../ViewController/MenuDetailController.swift | 28 ++ 6 files changed, 338 insertions(+), 3 deletions(-) create mode 100644 SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index 171ae30bf..04c54d827 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,7 +12,7 @@ Toast-Swift.xcscheme_^#shared#^_ orderHint - 1 + 0 diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj index 5040aa1e4..8e9395140 100644 --- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj +++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ 1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */; }; 1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */; }; 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E50540A26395ADB005615F5 /* LoadingViewController.swift */; }; + 1E505418263A97EB005615F5 /* MenuDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E505417263A97EB005615F5 /* MenuDetailController.swift */; }; 1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; }; 1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; }; 1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */; }; @@ -45,6 +46,7 @@ 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataClass.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataClass.swift"; sourceTree = ""; }; 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataProperties.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataProperties.swift"; sourceTree = ""; }; 1E50540A26395ADB005615F5 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; + 1E505417263A97EB005615F5 /* MenuDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuDetailController.swift; sourceTree = ""; }; 1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; }; 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishNetworkManager.swift; sourceTree = ""; }; @@ -189,6 +191,7 @@ 1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */, B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */, B0911EA72632B7A000D5EBEC /* DishCollectionViewDelegate.swift */, + 1E505417263A97EB005615F5 /* MenuDetailController.swift */, ); path = ViewController; sourceTree = ""; @@ -380,6 +383,7 @@ 1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */, B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */, 1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */, + 1E505418263A97EB005615F5 /* MenuDetailController.swift in Sources */, 1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */, 1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */, 1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */, diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index 3ca11deb8..e9adac807 100644 --- a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ SideDishApp.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index a82b0efca9c79c3e1e574729be336c85d641d5b0..1317e1c91c0d5994ab518ddb6b9fd79fc5b0819a 100644 GIT binary patch literal 137758 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 literal 149997 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⁢rKNN%WYJQ}K*g{$mX@;d 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μ%(_?^70V#C@dPpm!*>>&eGY^#S(An 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 - + @@ -157,15 +157,318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift new file mode 100644 index 000000000..783a7d97a --- /dev/null +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift @@ -0,0 +1,28 @@ +// +// MenuDetail.swift +// SideDishApp +// +// Created by 오킹 on 2021/04/29. +// + +import UIKit + +class MenuDetailController: UIViewController { + + @IBOutlet weak var titleImageView: UIImageView! + @IBOutlet weak var titleStackView: UIStackView! + + override func viewDidLoad() { + super.viewDidLoad() + } + + func setImageView(image: UIImage) { + self.titleImageView.image = image + } + + func setTitleStackView() { + + } + + +} From b4d81b1f91eac5d835f58c317e68429b40a0b50f Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Fri, 30 Apr 2021 04:41:01 +0900 Subject: [PATCH 32/32] =?UTF-8?q?chore:=20LoadingView=20=EC=97=90=EC=84=9C?= =?UTF-8?q?=20=EB=84=A4=EB=B9=84=EA=B2=8C=EC=9D=B4=EC=85=98=20=EC=BB=A8?= =?UTF-8?q?=ED=8A=B8=EB=A1=A4=EB=9F=AC=EB=A1=9C=20=EA=B0=80=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/xcschememanagement.plist | 2 +- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 137758 -> 161842 bytes .../UI/View/Base.lproj/Main.storyboard | 140 ++++++++++-------- .../LoadingViewController.swift | 10 +- .../ViewController/MenuDetailController.swift | 27 +++- .../UI/ViewController/ViewController.swift | 2 +- 7 files changed, 107 insertions(+), 76 deletions(-) diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index 04c54d827..171ae30bf 100644 --- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,7 +12,7 @@ Toast-Swift.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist index e9adac807..3ca11deb8 100644 --- a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ SideDishApp.xcscheme_^#shared#^_ orderHint - 1 + 0 diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate index 1317e1c91c0d5994ab518ddb6b9fd79fc5b0819a..177282b7b61ce0c4ce78ab7880998ea18c6c4f66 100644 GIT binary patch literal 161842 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

}Hf^zY%q3&A(4x=c=DZ$Yk%ki9q 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 S{cCji|NGbf|G$Ha$Nmqb7MC&r literal 137758 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 diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard index 3004ca03f..fd97d6bb5 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard +++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -18,7 +18,7 @@ - + @@ -45,13 +45,13 @@ - - - - - - + + + + + @@ -212,16 +213,16 @@ - + - + @@ -233,16 +234,16 @@ - + - @@ -254,23 +255,23 @@ - + - + - + - + @@ -278,8 +279,8 @@ - diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift index da380297a..ade23cb2c 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift @@ -23,11 +23,15 @@ class LoadingViewController: UIViewController { } private func nextPage() { - guard let nextPage = self.storyboard?.instantiateViewController(identifier: "ViewController") as? ViewController else { + guard let nextPage = self.storyboard?.instantiateViewController(identifier: "MainNavigationController") as? UINavigationController else { return } - nextPage.menuListViewModel = self.menuListViewModel - nextPage.bind() + + guard let mainView = nextPage.viewControllers[0] as? ViewController else { + return + } + + mainView.menuListViewModel = self.menuListViewModel nextPage.modalPresentationStyle = .fullScreen self.present(nextPage, animated: false, completion: nil) } diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift index 783a7d97a..6d248ab8b 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/MenuDetailController.swift @@ -9,20 +9,33 @@ import UIKit class MenuDetailController: UIViewController { - @IBOutlet weak var titleImageView: UIImageView! - @IBOutlet weak var titleStackView: UIStackView! + + @IBOutlet weak var topImageStackView: UIStackView! + + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var dishDescriptionLabel: UILabel! + @IBOutlet weak var orderFeeLabel: UILabel! + @IBOutlet weak var badgeStackView: UIStackView! + + @IBOutlet weak var pointLabel: UILabel! + @IBOutlet weak var deliveryDescription: UILabel! + @IBOutlet weak var deliveryFee: UILabel! + + @IBOutlet weak var orderNumberLabel: UILabel! + + @IBOutlet weak var totalOrderFeeLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() } - func setImageView(image: UIImage) { - self.titleImageView.image = image + @IBAction func subtractStock(_ sender: Any) { } - func setTitleStackView() { - + @IBAction func putInStock(_ sender: Any) { } - + @IBAction func order(_ sender: Any) { + } + } diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift index 31b251b7c..3a04c7c00 100644 --- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift +++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift @@ -21,7 +21,7 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - + bind() dishCollectionView.delegate = dishCollectionViewDelegate dataSource = DiffableProvider().configureDataSource(collectionView: dishCollectionView) }