From 731eb5791580c27bc397513fbd49ff1e2d63ab74 Mon Sep 17 00:00:00 2001 From: HongzCloud Date: Tue, 20 Apr 2021 00:57:57 +0900 Subject: [PATCH 1/2] =?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 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 + + + + 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 2/2] =?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