From a1d2a6b90adf4189daec8595f490a7e637ed7d34 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 02:19:12 +0900 Subject: [PATCH 1/9] Delete FE_iOS-sk directory --- .../FE_iOS-main.xcodeproj/project.pbxproj | 352 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 61280 -> 0 bytes .../xcschemes/xcschememanagement.plist | 14 - FE_iOS-sk/FE_iOS-main/AppDelegate.swift | 36 -- .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 98 ----- .../FE_iOS-main/Assets.xcassets/Contents.json | 6 - .../Base.lproj/LaunchScreen.storyboard | 25 -- .../FE_iOS-main/Base.lproj/Main.storyboard | 168 --------- .../FE_iOS-main/CourseViewController.swift | 181 --------- FE_iOS-sk/FE_iOS-main/Info.plist | 68 ---- FE_iOS-sk/FE_iOS-main/SceneDelegate.swift | 52 --- FE_iOS-sk/FE_iOS-main/viewController.swift | 25 -- 15 files changed, 1051 deletions(-) delete mode 100644 FE_iOS-sk/FE_iOS-main.xcodeproj/project.pbxproj delete mode 100644 FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 FE_iOS-sk/FE_iOS-main.xcodeproj/xcuserdata/sk.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 FE_iOS-sk/FE_iOS-main/AppDelegate.swift delete mode 100644 FE_iOS-sk/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 FE_iOS-sk/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 FE_iOS-sk/FE_iOS-main/Assets.xcassets/Contents.json delete mode 100644 FE_iOS-sk/FE_iOS-main/Base.lproj/LaunchScreen.storyboard delete mode 100644 FE_iOS-sk/FE_iOS-main/Base.lproj/Main.storyboard delete mode 100644 FE_iOS-sk/FE_iOS-main/CourseViewController.swift delete mode 100644 FE_iOS-sk/FE_iOS-main/Info.plist delete mode 100644 FE_iOS-sk/FE_iOS-main/SceneDelegate.swift delete mode 100644 FE_iOS-sk/FE_iOS-main/viewController.swift diff --git a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.pbxproj b/FE_iOS-sk/FE_iOS-main.xcodeproj/project.pbxproj deleted file mode 100644 index a917696..0000000 --- a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.pbxproj +++ /dev/null @@ -1,352 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 532D3DA42658B49F0050134A /* CourseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 532D3DA32658B49F0050134A /* CourseViewController.swift */; }; - 5393FCF22658B3A800C6FF54 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */; }; - 5393FCF42658B3A800C6FF54 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */; }; - 5393FCF62658B3A800C6FF54 /* viewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF52658B3A800C6FF54 /* viewController.swift */; }; - 5393FCF92658B3A800C6FF54 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCF72658B3A800C6FF54 /* Main.storyboard */; }; - 5393FCFB2658B3AA00C6FF54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */; }; - 5393FCFE2658B3AA00C6FF54 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */; }; - 53B7B47F26595AC2002FA484 /* b.png in Resources */ = {isa = PBXBuildFile; fileRef = 53B7B47E26595AC2002FA484 /* b.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 532D3DA32658B49F0050134A /* CourseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseViewController.swift; sourceTree = ""; }; - 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "FE_iOS-main.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 5393FCF52658B3A800C6FF54 /* viewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = viewController.swift; sourceTree = ""; }; - 5393FCF82658B3A800C6FF54 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 5393FCFD2658B3AA00C6FF54 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 5393FCFF2658B3AA00C6FF54 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 53B7B47E26595AC2002FA484 /* b.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = b.png; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 5393FCEB2658B3A800C6FF54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 5393FCE52658B3A800C6FF54 = { - isa = PBXGroup; - children = ( - 5393FCF02658B3A800C6FF54 /* FE_iOS-main */, - 5393FCEF2658B3A800C6FF54 /* Products */, - ); - sourceTree = ""; - }; - 5393FCEF2658B3A800C6FF54 /* Products */ = { - isa = PBXGroup; - children = ( - 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */, - ); - name = Products; - sourceTree = ""; - }; - 5393FCF02658B3A800C6FF54 /* FE_iOS-main */ = { - isa = PBXGroup; - children = ( - 53B7B47E26595AC2002FA484 /* b.png */, - 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */, - 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */, - 5393FCF52658B3A800C6FF54 /* viewController.swift */, - 5393FCF72658B3A800C6FF54 /* Main.storyboard */, - 532D3DA32658B49F0050134A /* CourseViewController.swift */, - 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */, - 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */, - 5393FCFF2658B3AA00C6FF54 /* Info.plist */, - ); - path = "FE_iOS-main"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 5393FCED2658B3A800C6FF54 /* FE_iOS-main */ = { - isa = PBXNativeTarget; - buildConfigurationList = 5393FD022658B3AA00C6FF54 /* Build configuration list for PBXNativeTarget "FE_iOS-main" */; - buildPhases = ( - 5393FCEA2658B3A800C6FF54 /* Sources */, - 5393FCEB2658B3A800C6FF54 /* Frameworks */, - 5393FCEC2658B3A800C6FF54 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "FE_iOS-main"; - productName = "FE_iOS-main"; - productReference = 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 5393FCE62658B3A800C6FF54 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1240; - LastUpgradeCheck = 1240; - TargetAttributes = { - 5393FCED2658B3A800C6FF54 = { - CreatedOnToolsVersion = 12.4; - }; - }; - }; - buildConfigurationList = 5393FCE92658B3A800C6FF54 /* Build configuration list for PBXProject "FE_iOS-main" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 5393FCE52658B3A800C6FF54; - productRefGroup = 5393FCEF2658B3A800C6FF54 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 5393FCED2658B3A800C6FF54 /* FE_iOS-main */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 5393FCEC2658B3A800C6FF54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5393FCFE2658B3AA00C6FF54 /* LaunchScreen.storyboard in Resources */, - 5393FCFB2658B3AA00C6FF54 /* Assets.xcassets in Resources */, - 53B7B47F26595AC2002FA484 /* b.png in Resources */, - 5393FCF92658B3A800C6FF54 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 5393FCEA2658B3A800C6FF54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5393FCF62658B3A800C6FF54 /* viewController.swift in Sources */, - 532D3DA42658B49F0050134A /* CourseViewController.swift in Sources */, - 5393FCF22658B3A800C6FF54 /* AppDelegate.swift in Sources */, - 5393FCF42658B3A800C6FF54 /* SceneDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 5393FCF72658B3A800C6FF54 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 5393FCF82658B3A800C6FF54 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 5393FCFD2658B3AA00C6FF54 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 5393FD002658B3AA00C6FF54 /* 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.4; - 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; - }; - 5393FD012658B3AA00C6FF54 /* 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.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 5393FD032658B3AA00C6FF54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = "FE_iOS-main/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "sk.FE-iOS-main"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 5393FD042658B3AA00C6FF54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = "FE_iOS-main/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "sk.FE-iOS-main"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 5393FCE92658B3A800C6FF54 /* Build configuration list for PBXProject "FE_iOS-main" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5393FD002658B3AA00C6FF54 /* Debug */, - 5393FD012658B3AA00C6FF54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 5393FD022658B3AA00C6FF54 /* Build configuration list for PBXNativeTarget "FE_iOS-main" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5393FD032658B3AA00C6FF54 /* Debug */, - 5393FD042658B3AA00C6FF54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 5393FCE62658B3A800C6FF54 /* Project object */; -} diff --git a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate b/FE_iOS-sk/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 56d68222cc35d9f26b6fbea7b9fd6dd969d445a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61280 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 - - - - SchemeUserState - - FE_iOS-main.xcscheme_^#shared#^_ - - orderHint - 0 - - - - diff --git a/FE_iOS-sk/FE_iOS-main/AppDelegate.swift b/FE_iOS-sk/FE_iOS-main/AppDelegate.swift deleted file mode 100644 index 5912f5e..0000000 --- a/FE_iOS-sk/FE_iOS-main/AppDelegate.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// AppDelegate.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -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/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json b/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json b/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9221b9b..0000000 --- a/FE_iOS-sk/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "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/FE_iOS-sk/FE_iOS-main/Assets.xcassets/Contents.json b/FE_iOS-sk/FE_iOS-main/Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/FE_iOS-sk/FE_iOS-main/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/FE_iOS-sk/FE_iOS-main/Base.lproj/LaunchScreen.storyboard b/FE_iOS-sk/FE_iOS-main/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 865e932..0000000 --- a/FE_iOS-sk/FE_iOS-main/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FE_iOS-sk/FE_iOS-main/Base.lproj/Main.storyboard b/FE_iOS-sk/FE_iOS-main/Base.lproj/Main.storyboard deleted file mode 100644 index 7b7a375..0000000 --- a/FE_iOS-sk/FE_iOS-main/Base.lproj/Main.storyboard +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FE_iOS-sk/FE_iOS-main/CourseViewController.swift b/FE_iOS-sk/FE_iOS-main/CourseViewController.swift deleted file mode 100644 index f30e6cc..0000000 --- a/FE_iOS-sk/FE_iOS-main/CourseViewController.swift +++ /dev/null @@ -1,181 +0,0 @@ -import UIKit -import MapKit -import CoreLocation - -class CourseViewController: UIViewController, CLLocationManagerDelegate { - - let locationManager = CLLocationManager() - var customerLocation: [(latitude:Double, longitude: Double)] = [(0,0),(37.5506753, 127.0409622),(37.520641,126.9139242)] - //customerLocation += (37.5506753, 127.0409622) - var customerLocationName = [String](repeating: "", count:5) - - - @IBOutlet var myMap: MKMapView! - @IBOutlet var lblCurrentLocation: UILabel! - - func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { - var annotationView = MKMarkerAnnotationView() - - switch annotation.coordinate.latitude { - case customerLocation[0].latitude: - self.lblCurrentLocation.text = "0" - case customerLocation[1].latitude: - self.lblCurrentLocation.text = "1" - case customerLocation[2].latitude: - self.lblCurrentLocation.text = "2" - default: - self.lblCurrentLocation.text = "no" - } - - return annotationView - } - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - - lblCurrentLocation.text = "" - locationManager.delegate = self - locationManager.desiredAccuracy = kCLLocationAccuracyBest - locationManager.requestWhenInUseAuthorization() - locationManager.startUpdatingLocation() - myMap.showsUserLocation = true - - - - } - - func goLocation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double) -> CLLocationCoordinate2D { - - let pLocation = CLLocationCoordinate2DMake(latitudeValue, longitudeValue) - let spanValue = MKCoordinateSpan(latitudeDelta: span, longitudeDelta: span) - let pRegion = MKCoordinateRegion(center: pLocation, span: spanValue) - myMap.setRegion(pRegion, animated: true) - customerLocation[0].latitude = latitudeValue - customerLocation[0].longitude = longitudeValue - return pLocation - } - - func setAnnotation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double, title strTitle: String, subtitle strSubtitle:String){ - - let annotation = MKPointAnnotation() - annotation.coordinate = goLocation(latitudeValue: latitudeValue, longitudeValue: longitudeValue, delta: span) - annotation.title = strTitle - annotation.subtitle = strSubtitle - myMap.addAnnotation(annotation) - } - - - func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { - let pLocation = locations.last - - _ = goLocation(latitudeValue: (pLocation?.coordinate.latitude)!, longitudeValue: (pLocation?.coordinate.longitude)!, delta: 0.01) - - - CLGeocoder().reverseGeocodeLocation(pLocation!, completionHandler: { - (placemarks, error) -> Void in - let pm = placemarks!.first - let country = pm!.country - var address:String = country! - if pm!.locality != nil { - address += " " - address += pm!.thoroughfare! - } - - }) - locationManager.stopUpdatingLocation() - -// for i in 0.. Void in -// let pm = placemarks!.first -// let country = pm!.country -// var address:String = country! -// if pm!.locality != nil { -// address += " " -// address += pm!.thoroughfare! -// self.customerLocationName.append(_: address) -// } -// -// -// -// -// self.lblCurrentLocation.text="현재 위치: " + address -// -// -// }) - - - - locationManager.stopUpdatingLocation() -// - //} - - placePins() - - - } - - func placePins() { - - - let coords = [CLLocationCoordinate2D(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocationCoordinate2D(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocationCoordinate2D(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] - - - - - - for i in coords.indices { - - let annotation = MKPointAnnotation() - annotation.coordinate = coords[i] - let findLocation = CLLocation(latitude:customerLocation[i].latitude, longitude: customerLocation[i].longitude) - let geocoder = CLGeocoder() - let locale = Locale(identifier: "Ko-kr") - geocoder.reverseGeocodeLocation(findLocation, preferredLocale: locale, completionHandler: {(placemarks, error) in - if let address: [CLPlacemark] = placemarks { - - if let name: String = address.last?.name { - print(String(i) + " " + name) - self.customerLocationName[i] = name - //self.customerLocationName.insert(name, at: i) - print(self.customerLocationName) - //self.lblCurrentLocation.text = self.customerLocationName[i] - - } - - - } - - - }) - //annotation.title = self.customerLocationName[i] - - - - myMap.addAnnotation(annotation) - switch annotation.coordinate.latitude { - case self.customerLocation[0].latitude: - self.lblCurrentLocation.text = "0" - case self.customerLocation[1].latitude: - self.lblCurrentLocation.text = "1" - case self.customerLocation[2].latitude: - self.lblCurrentLocation.text = "2" - default: - self.lblCurrentLocation.text = "no" - } - - //lblCurrentLocation.text = "주소: " + customerLocationName[i] - - } - - - } - - - -} diff --git a/FE_iOS-sk/FE_iOS-main/Info.plist b/FE_iOS-sk/FE_iOS-main/Info.plist deleted file mode 100644 index 903edda..0000000 --- a/FE_iOS-sk/FE_iOS-main/Info.plist +++ /dev/null @@ -1,68 +0,0 @@ - - - - - NSLocationWhenInUseUsageDescription - 사용자의 현재위치 정보가 필요합니다. - 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/FE_iOS-sk/FE_iOS-main/SceneDelegate.swift b/FE_iOS-sk/FE_iOS-main/SceneDelegate.swift deleted file mode 100644 index 47604a9..0000000 --- a/FE_iOS-sk/FE_iOS-main/SceneDelegate.swift +++ /dev/null @@ -1,52 +0,0 @@ -// -// SceneDelegate.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -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/FE_iOS-sk/FE_iOS-main/viewController.swift b/FE_iOS-sk/FE_iOS-main/viewController.swift deleted file mode 100644 index 3f09954..0000000 --- a/FE_iOS-sk/FE_iOS-main/viewController.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// ViewController.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -import UIKit - -class ViewController: UIViewController { - - - - - @IBOutlet var btnCourse: UIButton! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view. - view.layer.zPosition = CGFloat(Float.greatestFiniteMagnitude) - } - - -} - From fa02ef22f34e82463226b3b0646c7b3f49f445e0 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 02:20:40 +0900 Subject: [PATCH 2/9] Add files via upload --- FE_iOS-main/Base.lproj/Main.storyboard | 195 +++++++++++-------------- FE_iOS-main/CourseViewController.swift | 7 - FE_iOS-main/Info.plist | 4 +- FE_iOS-main/viewController.swift | 25 ++++ 4 files changed, 109 insertions(+), 122 deletions(-) create mode 100644 FE_iOS-main/viewController.swift diff --git a/FE_iOS-main/Base.lproj/Main.storyboard b/FE_iOS-main/Base.lproj/Main.storyboard index 8aba61b..7b7a375 100644 --- a/FE_iOS-main/Base.lproj/Main.storyboard +++ b/FE_iOS-main/Base.lproj/Main.storyboard @@ -1,14 +1,14 @@ - - + + - + - + @@ -16,23 +16,59 @@ - - + + - - @@ -41,12 +77,15 @@ - - - + + + - + + + + @@ -55,7 +94,7 @@ - + @@ -63,103 +102,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - - + + - + - - - - - - + + @@ -189,11 +161,8 @@ - - - - - + + diff --git a/FE_iOS-main/CourseViewController.swift b/FE_iOS-main/CourseViewController.swift index 564400f..f30e6cc 100644 --- a/FE_iOS-main/CourseViewController.swift +++ b/FE_iOS-main/CourseViewController.swift @@ -1,9 +1,3 @@ -// -// CourseViewController.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// import UIKit import MapKit import CoreLocation @@ -185,4 +179,3 @@ class CourseViewController: UIViewController, CLLocationManagerDelegate { } - diff --git a/FE_iOS-main/Info.plist b/FE_iOS-main/Info.plist index eee9e6e..903edda 100644 --- a/FE_iOS-main/Info.plist +++ b/FE_iOS-main/Info.plist @@ -2,6 +2,8 @@ + NSLocationWhenInUseUsageDescription + 사용자의 현재위치 정보가 필요합니다. CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -20,8 +22,6 @@ 1 LSRequiresIPhoneOS - NSLocationWhenInUseUsageDescription - 사용자의 현재위치 정보가 필요합니다. UIApplicationSceneManifest UIApplicationSupportsMultipleScenes diff --git a/FE_iOS-main/viewController.swift b/FE_iOS-main/viewController.swift new file mode 100644 index 0000000..3f09954 --- /dev/null +++ b/FE_iOS-main/viewController.swift @@ -0,0 +1,25 @@ +// +// ViewController.swift +// FE_iOS-main +// +// Created by 김수경 on 2021/05/22. +// + +import UIKit + +class ViewController: UIViewController { + + + + + @IBOutlet var btnCourse: UIButton! + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + view.layer.zPosition = CGFloat(Float.greatestFiniteMagnitude) + } + + +} + From d0713d9342d7b7e2469d750fdda29eeaf1ca3a2f Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 02:39:02 +0900 Subject: [PATCH 3/9] Add files via upload --- Main.storyboard | 244 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 Main.storyboard diff --git a/Main.storyboard b/Main.storyboard new file mode 100644 index 0000000..cd569db --- /dev/null +++ b/Main.storyboard @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 17692802098484d07c43615874f0597cedf5f6a2 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 02:39:31 +0900 Subject: [PATCH 4/9] Delete Main.storyboard --- Main.storyboard | 244 ------------------------------------------------ 1 file changed, 244 deletions(-) delete mode 100644 Main.storyboard diff --git a/Main.storyboard b/Main.storyboard deleted file mode 100644 index cd569db..0000000 --- a/Main.storyboard +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 227a58766f401a75f04fcf3067a6c90d663f1297 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 05:47:13 +0900 Subject: [PATCH 5/9] Delete FE_APP.xcodeproj/project.xcworkspace directory --- .../contents.xcworkspacedata | 7 ------- .../UserInterfaceState.xcuserstate | Bin 60835 -> 0 bytes 2 files changed, 7 deletions(-) delete mode 100644 FE_APP.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 FE_APP.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/FE_APP.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FE_APP.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/FE_APP.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/FE_APP.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate b/FE_APP.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index fe5b8e3e199ad177381f75ced429f31fb90573b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60835 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�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%0DKFsg%F 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 Date: Sun, 23 May 2021 05:47:21 +0900 Subject: [PATCH 6/9] Delete FE_iOS-main.xcodeproj directory --- FE_iOS-main.xcodeproj/project.pbxproj | 350 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 39483 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 35622 -> 0 bytes .../xcschemes/xcschememanagement.plist | 14 - .../xcschemes/xcschememanagement.plist | 14 - 7 files changed, 393 deletions(-) delete mode 100644 FE_iOS-main.xcodeproj/project.pbxproj delete mode 100644 FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 FE_iOS-main.xcodeproj/xcuserdata/sk.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 FE_iOS-main.xcodeproj/xcuserdata/sojeong.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/FE_iOS-main.xcodeproj/project.pbxproj b/FE_iOS-main.xcodeproj/project.pbxproj deleted file mode 100644 index 48e90a5..0000000 --- a/FE_iOS-main.xcodeproj/project.pbxproj +++ /dev/null @@ -1,350 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 532D3DA42658B49F0050134A /* CourseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 532D3DA32658B49F0050134A /* CourseViewController.swift */; }; - 5393FCF22658B3A800C6FF54 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */; }; - 5393FCF42658B3A800C6FF54 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */; }; - 5393FCF62658B3A800C6FF54 /* TrackMyTraceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5393FCF52658B3A800C6FF54 /* TrackMyTraceViewController.swift */; }; - 5393FCF92658B3A800C6FF54 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCF72658B3A800C6FF54 /* Main.storyboard */; }; - 5393FCFB2658B3AA00C6FF54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */; }; - 5393FCFE2658B3AA00C6FF54 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 532D3DA32658B49F0050134A /* CourseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseViewController.swift; sourceTree = ""; }; - 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "FE_iOS-main.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 5393FCF52658B3A800C6FF54 /* TrackMyTraceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackMyTraceViewController.swift; sourceTree = ""; }; - 5393FCF82658B3A800C6FF54 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 5393FCFD2658B3AA00C6FF54 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 5393FCFF2658B3AA00C6FF54 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 5393FCEB2658B3A800C6FF54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 5393FCE52658B3A800C6FF54 = { - isa = PBXGroup; - children = ( - 5393FCF02658B3A800C6FF54 /* FE_iOS-main */, - 5393FCEF2658B3A800C6FF54 /* Products */, - ); - sourceTree = ""; - }; - 5393FCEF2658B3A800C6FF54 /* Products */ = { - isa = PBXGroup; - children = ( - 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */, - ); - name = Products; - sourceTree = ""; - }; - 5393FCF02658B3A800C6FF54 /* FE_iOS-main */ = { - isa = PBXGroup; - children = ( - 5393FCF12658B3A800C6FF54 /* AppDelegate.swift */, - 5393FCF32658B3A800C6FF54 /* SceneDelegate.swift */, - 5393FCF52658B3A800C6FF54 /* TrackMyTraceViewController.swift */, - 5393FCF72658B3A800C6FF54 /* Main.storyboard */, - 532D3DA32658B49F0050134A /* CourseViewController.swift */, - 5393FCFA2658B3AA00C6FF54 /* Assets.xcassets */, - 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */, - 5393FCFF2658B3AA00C6FF54 /* Info.plist */, - ); - path = "FE_iOS-main"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 5393FCED2658B3A800C6FF54 /* FE_iOS-main */ = { - isa = PBXNativeTarget; - buildConfigurationList = 5393FD022658B3AA00C6FF54 /* Build configuration list for PBXNativeTarget "FE_iOS-main" */; - buildPhases = ( - 5393FCEA2658B3A800C6FF54 /* Sources */, - 5393FCEB2658B3A800C6FF54 /* Frameworks */, - 5393FCEC2658B3A800C6FF54 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "FE_iOS-main"; - productName = "FE_iOS-main"; - productReference = 5393FCEE2658B3A800C6FF54 /* FE_iOS-main.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 5393FCE62658B3A800C6FF54 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1240; - LastUpgradeCheck = 1240; - TargetAttributes = { - 5393FCED2658B3A800C6FF54 = { - CreatedOnToolsVersion = 12.4; - }; - }; - }; - buildConfigurationList = 5393FCE92658B3A800C6FF54 /* Build configuration list for PBXProject "FE_iOS-main" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 5393FCE52658B3A800C6FF54; - productRefGroup = 5393FCEF2658B3A800C6FF54 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 5393FCED2658B3A800C6FF54 /* FE_iOS-main */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 5393FCEC2658B3A800C6FF54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5393FCFE2658B3AA00C6FF54 /* LaunchScreen.storyboard in Resources */, - 5393FCFB2658B3AA00C6FF54 /* Assets.xcassets in Resources */, - 5393FCF92658B3A800C6FF54 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 5393FCEA2658B3A800C6FF54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5393FCF62658B3A800C6FF54 /* TrackMyTraceViewController.swift in Sources */, - 532D3DA42658B49F0050134A /* CourseViewController.swift in Sources */, - 5393FCF22658B3A800C6FF54 /* AppDelegate.swift in Sources */, - 5393FCF42658B3A800C6FF54 /* SceneDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 5393FCF72658B3A800C6FF54 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 5393FCF82658B3A800C6FF54 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 5393FCFC2658B3AA00C6FF54 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 5393FCFD2658B3AA00C6FF54 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 5393FD002658B3AA00C6FF54 /* 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.4; - 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; - }; - 5393FD012658B3AA00C6FF54 /* 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.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 5393FD032658B3AA00C6FF54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = FJ57DUH592; - INFOPLIST_FILE = "FE_iOS-main/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "sk.FE-iOS-main-develop"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 5393FD042658B3AA00C6FF54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = FJ57DUH592; - INFOPLIST_FILE = "FE_iOS-main/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "sk.FE-iOS-main-develop"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 5393FCE92658B3A800C6FF54 /* Build configuration list for PBXProject "FE_iOS-main" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5393FD002658B3AA00C6FF54 /* Debug */, - 5393FD012658B3AA00C6FF54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 5393FD022658B3AA00C6FF54 /* Build configuration list for PBXNativeTarget "FE_iOS-main" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5393FD032658B3AA00C6FF54 /* Debug */, - 5393FD042658B3AA00C6FF54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 5393FCE62658B3A800C6FF54 /* Project object */; -} diff --git a/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/FE_iOS-main.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/FE_iOS-main.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate b/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sk.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 1a664bf87d957a814f980858cb74e2b35fb909b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39483 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 C0I+rd diff --git a/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate b/FE_iOS-main.xcodeproj/project.xcworkspace/xcuserdata/sojeong.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 920969a3c332754a0cd18b5382b223b1a99b430a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35622 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 JNmv%&`48P)9$o+d diff --git a/FE_iOS-main.xcodeproj/xcuserdata/sk.xcuserdatad/xcschemes/xcschememanagement.plist b/FE_iOS-main.xcodeproj/xcuserdata/sk.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 253c0d8..0000000 --- a/FE_iOS-main.xcodeproj/xcuserdata/sk.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SchemeUserState - - FE_iOS-main.xcscheme_^#shared#^_ - - orderHint - 0 - - - - diff --git a/FE_iOS-main.xcodeproj/xcuserdata/sojeong.xcuserdatad/xcschemes/xcschememanagement.plist b/FE_iOS-main.xcodeproj/xcuserdata/sojeong.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 253c0d8..0000000 --- a/FE_iOS-main.xcodeproj/xcuserdata/sojeong.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SchemeUserState - - FE_iOS-main.xcscheme_^#shared#^_ - - orderHint - 0 - - - - From cb99532610c55376f686fea1bd4ae371e0432e10 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 05:47:29 +0900 Subject: [PATCH 7/9] Delete FE_iOS-main directory --- FE_iOS-main/.DS_Store | Bin 6148 -> 0 bytes FE_iOS-main/AppDelegate.swift | 36 ---- .../AccentColor.colorset/Contents.json | 11 -- .../AppIcon.appiconset/Contents.json | 98 ---------- FE_iOS-main/Assets.xcassets/Contents.json | 6 - .../Base.lproj/LaunchScreen.storyboard | 25 --- FE_iOS-main/Base.lproj/Main.storyboard | 168 ---------------- FE_iOS-main/CourseViewController.swift | 181 ------------------ FE_iOS-main/Info.plist | 68 ------- FE_iOS-main/SceneDelegate.swift | 52 ----- FE_iOS-main/TrackMyTraceViewController.swift | 161 ---------------- FE_iOS-main/viewController.swift | 25 --- 12 files changed, 831 deletions(-) delete mode 100644 FE_iOS-main/.DS_Store delete mode 100644 FE_iOS-main/AppDelegate.swift delete mode 100644 FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 FE_iOS-main/Assets.xcassets/Contents.json delete mode 100644 FE_iOS-main/Base.lproj/LaunchScreen.storyboard delete mode 100644 FE_iOS-main/Base.lproj/Main.storyboard delete mode 100644 FE_iOS-main/CourseViewController.swift delete mode 100644 FE_iOS-main/Info.plist delete mode 100644 FE_iOS-main/SceneDelegate.swift delete mode 100644 FE_iOS-main/TrackMyTraceViewController.swift delete mode 100644 FE_iOS-main/viewController.swift diff --git a/FE_iOS-main/.DS_Store b/FE_iOS-main/.DS_Store deleted file mode 100644 index e8c6f9e6301ca94336c9ca8f6b9a71e61771f653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO-sW-5PegN)OxVuMFb(gAmBepYdrK^@T{%dq68~Viym|LKlm5?iTY-Di8i$d zFGXY~%)ZTJ-hR9d*(?AVtnMy=9)J#Av30=W2h->38`g@EeWLg_911whaEs+ewgvv8 z0=jm`=;Mi3&b9kmKZg`0o^g*UmcwE`85i?0v-MT!)6)-ctN}-il)N0*y(I4i6TSm= zq``h~u)7%eZ0)h&I2M@WVVxuA4bB-ZnYCiB_Ik}xI*wIij~s)xQ24nlw$DOd8*O$m zBzsD3%25<-vuw`1HEVEAFydStdG43`y?xV-vMJoFrlvu?om1GznBt1z$XUlZe;)f diff --git a/FE_iOS-main/AppDelegate.swift b/FE_iOS-main/AppDelegate.swift deleted file mode 100644 index 5912f5e..0000000 --- a/FE_iOS-main/AppDelegate.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// AppDelegate.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -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/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json b/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json b/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9221b9b..0000000 --- a/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "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/FE_iOS-main/Assets.xcassets/Contents.json b/FE_iOS-main/Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/FE_iOS-main/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/FE_iOS-main/Base.lproj/LaunchScreen.storyboard b/FE_iOS-main/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 865e932..0000000 --- a/FE_iOS-main/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FE_iOS-main/Base.lproj/Main.storyboard b/FE_iOS-main/Base.lproj/Main.storyboard deleted file mode 100644 index 7b7a375..0000000 --- a/FE_iOS-main/Base.lproj/Main.storyboard +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FE_iOS-main/CourseViewController.swift b/FE_iOS-main/CourseViewController.swift deleted file mode 100644 index f30e6cc..0000000 --- a/FE_iOS-main/CourseViewController.swift +++ /dev/null @@ -1,181 +0,0 @@ -import UIKit -import MapKit -import CoreLocation - -class CourseViewController: UIViewController, CLLocationManagerDelegate { - - let locationManager = CLLocationManager() - var customerLocation: [(latitude:Double, longitude: Double)] = [(0,0),(37.5506753, 127.0409622),(37.520641,126.9139242)] - //customerLocation += (37.5506753, 127.0409622) - var customerLocationName = [String](repeating: "", count:5) - - - @IBOutlet var myMap: MKMapView! - @IBOutlet var lblCurrentLocation: UILabel! - - func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { - var annotationView = MKMarkerAnnotationView() - - switch annotation.coordinate.latitude { - case customerLocation[0].latitude: - self.lblCurrentLocation.text = "0" - case customerLocation[1].latitude: - self.lblCurrentLocation.text = "1" - case customerLocation[2].latitude: - self.lblCurrentLocation.text = "2" - default: - self.lblCurrentLocation.text = "no" - } - - return annotationView - } - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - - lblCurrentLocation.text = "" - locationManager.delegate = self - locationManager.desiredAccuracy = kCLLocationAccuracyBest - locationManager.requestWhenInUseAuthorization() - locationManager.startUpdatingLocation() - myMap.showsUserLocation = true - - - - } - - func goLocation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double) -> CLLocationCoordinate2D { - - let pLocation = CLLocationCoordinate2DMake(latitudeValue, longitudeValue) - let spanValue = MKCoordinateSpan(latitudeDelta: span, longitudeDelta: span) - let pRegion = MKCoordinateRegion(center: pLocation, span: spanValue) - myMap.setRegion(pRegion, animated: true) - customerLocation[0].latitude = latitudeValue - customerLocation[0].longitude = longitudeValue - return pLocation - } - - func setAnnotation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double, title strTitle: String, subtitle strSubtitle:String){ - - let annotation = MKPointAnnotation() - annotation.coordinate = goLocation(latitudeValue: latitudeValue, longitudeValue: longitudeValue, delta: span) - annotation.title = strTitle - annotation.subtitle = strSubtitle - myMap.addAnnotation(annotation) - } - - - func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { - let pLocation = locations.last - - _ = goLocation(latitudeValue: (pLocation?.coordinate.latitude)!, longitudeValue: (pLocation?.coordinate.longitude)!, delta: 0.01) - - - CLGeocoder().reverseGeocodeLocation(pLocation!, completionHandler: { - (placemarks, error) -> Void in - let pm = placemarks!.first - let country = pm!.country - var address:String = country! - if pm!.locality != nil { - address += " " - address += pm!.thoroughfare! - } - - }) - locationManager.stopUpdatingLocation() - -// for i in 0.. Void in -// let pm = placemarks!.first -// let country = pm!.country -// var address:String = country! -// if pm!.locality != nil { -// address += " " -// address += pm!.thoroughfare! -// self.customerLocationName.append(_: address) -// } -// -// -// -// -// self.lblCurrentLocation.text="현재 위치: " + address -// -// -// }) - - - - locationManager.stopUpdatingLocation() -// - //} - - placePins() - - - } - - func placePins() { - - - let coords = [CLLocationCoordinate2D(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocationCoordinate2D(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocationCoordinate2D(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] - - - - - - for i in coords.indices { - - let annotation = MKPointAnnotation() - annotation.coordinate = coords[i] - let findLocation = CLLocation(latitude:customerLocation[i].latitude, longitude: customerLocation[i].longitude) - let geocoder = CLGeocoder() - let locale = Locale(identifier: "Ko-kr") - geocoder.reverseGeocodeLocation(findLocation, preferredLocale: locale, completionHandler: {(placemarks, error) in - if let address: [CLPlacemark] = placemarks { - - if let name: String = address.last?.name { - print(String(i) + " " + name) - self.customerLocationName[i] = name - //self.customerLocationName.insert(name, at: i) - print(self.customerLocationName) - //self.lblCurrentLocation.text = self.customerLocationName[i] - - } - - - } - - - }) - //annotation.title = self.customerLocationName[i] - - - - myMap.addAnnotation(annotation) - switch annotation.coordinate.latitude { - case self.customerLocation[0].latitude: - self.lblCurrentLocation.text = "0" - case self.customerLocation[1].latitude: - self.lblCurrentLocation.text = "1" - case self.customerLocation[2].latitude: - self.lblCurrentLocation.text = "2" - default: - self.lblCurrentLocation.text = "no" - } - - //lblCurrentLocation.text = "주소: " + customerLocationName[i] - - } - - - } - - - -} diff --git a/FE_iOS-main/Info.plist b/FE_iOS-main/Info.plist deleted file mode 100644 index 903edda..0000000 --- a/FE_iOS-main/Info.plist +++ /dev/null @@ -1,68 +0,0 @@ - - - - - NSLocationWhenInUseUsageDescription - 사용자의 현재위치 정보가 필요합니다. - 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/FE_iOS-main/SceneDelegate.swift b/FE_iOS-main/SceneDelegate.swift deleted file mode 100644 index 47604a9..0000000 --- a/FE_iOS-main/SceneDelegate.swift +++ /dev/null @@ -1,52 +0,0 @@ -// -// SceneDelegate.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -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/FE_iOS-main/TrackMyTraceViewController.swift b/FE_iOS-main/TrackMyTraceViewController.swift deleted file mode 100644 index 89d7e00..0000000 --- a/FE_iOS-main/TrackMyTraceViewController.swift +++ /dev/null @@ -1,161 +0,0 @@ -// -// TrackMyTraceViewController.swift -// HoTechCourse -// -// Created by 최강훈 on 2021/05/06. -// - -import UIKit -import CoreLocation -import MapKit - -class TrackMyTraceViewController: UIViewController { - - - @IBOutlet weak var userName: UILabel! - @IBOutlet weak var userAddress: UILabel! - @IBOutlet weak var guardian: UILabel! - - - @IBAction func pickUpButton(_ sender: Any) { - //send message - } - @IBOutlet weak var MapView: MKMapView! - - - @IBOutlet weak var start: UITextField! - - - @IBOutlet weak var destination: UITextField! - - var customerLocation: [(latitude:Double, longitude: Double)] = [(0,0),(37.5506753, 127.0409622),(37.520641,126.9139242)] - - lazy var locationManager: CLLocationManager = { - let manager = CLLocationManager() - manager.desiredAccuracy = kCLLocationAccuracyBest - manager.startUpdatingLocation() - manager.delegate = self - return manager - }() - - - var previousCoordinate: CLLocationCoordinate2D? - - override func viewDidLoad() { - super.viewDidLoad() - - getLocationUsagePermission() - // xcode 종료 후 어플을 다시 실행했을 때 뜨는 오류 방지. - self.MapView.mapType = MKMapType.standard - // 지도에 내 위치 표시 - MapView.showsUserLocation = true - // 현재 내 위치 기준으로 지도를 움직임. - self.MapView.setUserTrackingMode(.follow, animated: true) - - self.MapView.isZoomEnabled = true - self.MapView.delegate = self - - makePin() - - //self.trackData.date = Date() - } - - func makePin(){ - let coords = [CLLocationCoordinate2D(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocationCoordinate2D(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocationCoordinate2D(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] - - let findLocation = [CLLocation(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocation(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocation(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] - - let geocoder = CLGeocoder() - let locale = Locale(identifier: "Ko-kr") - for i in findLocation { - print(i) - - - } - - - for i in coords{ - let annotation = MKPointAnnotation() - annotation.coordinate = i - annotation.title = "0" - MapView.addAnnotation(annotation) - } - - } - - func getLocationUsagePermission() { - self.locationManager.requestWhenInUseAuthorization() - } - - override func viewWillDisappear(_ animated: Bool) { - self.locationManager.stopUpdatingLocation() - } - - - -} - - - -extension TrackMyTraceViewController: CLLocationManagerDelegate { - - func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { - - guard let location = locations.last else {return} - let latitude = location.coordinate.latitude - let longtitude = location.coordinate.longitude - - CLGeocoder().reverseGeocodeLocation(location, completionHandler: { - (placemarks, error) -> Void in - guard let pm = placemarks!.first else {return} - - if pm.locality != nil { - DispatchQueue.main.async { - self.start?.text = pm.thoroughfare! - } - } - - }) - - - if let previousCoordinate = self.previousCoordinate { - var points: [CLLocationCoordinate2D] = [] - let point1 = CLLocationCoordinate2DMake(previousCoordinate.latitude, previousCoordinate.longitude) - let point2: CLLocationCoordinate2D - = CLLocationCoordinate2DMake(latitude, longtitude) - points.append(point1) - points.append(point2) - let lineDraw = MKPolyline(coordinates: points, count:points.count) - self.MapView.addOverlay(lineDraw) - } - - self.previousCoordinate = location.coordinate - - } - - -} - -extension TrackMyTraceViewController: MKMapViewDelegate { - func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { - guard let polyLine = overlay as? MKPolyline - else { - print("can't draw polyline") - return MKOverlayRenderer() - } - let renderer = MKPolylineRenderer(polyline: polyLine) - renderer.strokeColor = .orange - renderer.lineWidth = 5.0 - renderer.alpha = 1.0 - - return renderer - } -} - -extension CLLocationCoordinate2D { - //distance in meters, as explained in CLLoactionDistance definition - func distance(from: CLLocationCoordinate2D) -> CLLocationDistance { - let destination=CLLocation(latitude:from.latitude,longitude:from.longitude) - return CLLocation(latitude: latitude, longitude: longitude).distance(from: destination) - } -} diff --git a/FE_iOS-main/viewController.swift b/FE_iOS-main/viewController.swift deleted file mode 100644 index 3f09954..0000000 --- a/FE_iOS-main/viewController.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// ViewController.swift -// FE_iOS-main -// -// Created by 김수경 on 2021/05/22. -// - -import UIKit - -class ViewController: UIViewController { - - - - - @IBOutlet var btnCourse: UIButton! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view. - view.layer.zPosition = CGFloat(Float.greatestFiniteMagnitude) - } - - -} - From 6d5cd15e25b7ecefdd611906b1c1323e32e1127d Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 05:47:42 +0900 Subject: [PATCH 8/9] Delete .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index ed2ed4ef5e563962147c34dea533ba06ba3d7c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!EO^V5FMu}by6YrKvj;u^cJd3FNFirlD0@a5ou9-Xi>V`jp(B7I!ZPK2th0H z6Yv%M27kbJ@C9LPPgAu?t_Za=lKt%QJX?Ow+8F>4tzpsx@Blz!F<7Z#wZP1{DRWjK z&nlv@bF`ri+wc+2LC;0A<9}4ZoSg@+-~c-C5>M~?{1WIw5BhkL?+-J59%nkXu>e02 zx2M+Zmez@%!fOcODO^GXDde|U-|$DW;aJlt@|LjT(V$0b{fc{8Iw*Yqx2UXCS0AiN zS(o*P^|#@L9)(3z30zD>>^z|xkg_Ig9dC0y-rZ?7)U)QKp~la5{D#`~{mG;zH@BKE4$m$>eI9?A zeEn`!0D<3twMT?k@B4A z?vw(ex*zVha7*;I&TY=TwF=7_7Gox^bU346!#>3rYo6jKSgfI6nFeA&SUN-x8vhZn MGH}HT{8I(~0{vcwH2?qr From c0cc784c80be520e89028e4451f37a43f31d8b38 Mon Sep 17 00:00:00 2001 From: KSK9820 <68066104+KSK9820@users.noreply.github.com> Date: Sun, 23 May 2021 05:48:37 +0900 Subject: [PATCH 9/9] Add files via upload --- FE_iOS-main/AppDelegate.swift | 36 +++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 +++++++ FE_iOS-main/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ FE_iOS-main/Base.lproj/Main.storyboard | 244 ++++++++++++++++++ FE_iOS-main/CourseViewController.swift | 188 ++++++++++++++ FE_iOS-main/Info.plist | 68 +++++ FE_iOS-main/SceneDelegate.swift | 52 ++++ FE_iOS-main/TrackMyTraceViewController.swift | 213 +++++++++++++++ 10 files changed, 941 insertions(+) create mode 100644 FE_iOS-main/AppDelegate.swift create mode 100644 FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 FE_iOS-main/Assets.xcassets/Contents.json create mode 100644 FE_iOS-main/Base.lproj/LaunchScreen.storyboard create mode 100644 FE_iOS-main/Base.lproj/Main.storyboard create mode 100644 FE_iOS-main/CourseViewController.swift create mode 100644 FE_iOS-main/Info.plist create mode 100644 FE_iOS-main/SceneDelegate.swift create mode 100644 FE_iOS-main/TrackMyTraceViewController.swift diff --git a/FE_iOS-main/AppDelegate.swift b/FE_iOS-main/AppDelegate.swift new file mode 100644 index 0000000..5912f5e --- /dev/null +++ b/FE_iOS-main/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// FE_iOS-main +// +// Created by 김수경 on 2021/05/22. +// + +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/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json b/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/FE_iOS-main/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json b/FE_iOS-main/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..9221b9b --- /dev/null +++ b/FE_iOS-main/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/FE_iOS-main/Assets.xcassets/Contents.json b/FE_iOS-main/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/FE_iOS-main/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FE_iOS-main/Base.lproj/LaunchScreen.storyboard b/FE_iOS-main/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/FE_iOS-main/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FE_iOS-main/Base.lproj/Main.storyboard b/FE_iOS-main/Base.lproj/Main.storyboard new file mode 100644 index 0000000..cd569db --- /dev/null +++ b/FE_iOS-main/Base.lproj/Main.storyboard @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FE_iOS-main/CourseViewController.swift b/FE_iOS-main/CourseViewController.swift new file mode 100644 index 0000000..564400f --- /dev/null +++ b/FE_iOS-main/CourseViewController.swift @@ -0,0 +1,188 @@ +// +// CourseViewController.swift +// FE_iOS-main +// +// Created by 김수경 on 2021/05/22. +// +import UIKit +import MapKit +import CoreLocation + +class CourseViewController: UIViewController, CLLocationManagerDelegate { + + let locationManager = CLLocationManager() + var customerLocation: [(latitude:Double, longitude: Double)] = [(0,0),(37.5506753, 127.0409622),(37.520641,126.9139242)] + //customerLocation += (37.5506753, 127.0409622) + var customerLocationName = [String](repeating: "", count:5) + + + @IBOutlet var myMap: MKMapView! + @IBOutlet var lblCurrentLocation: UILabel! + + func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { + var annotationView = MKMarkerAnnotationView() + + switch annotation.coordinate.latitude { + case customerLocation[0].latitude: + self.lblCurrentLocation.text = "0" + case customerLocation[1].latitude: + self.lblCurrentLocation.text = "1" + case customerLocation[2].latitude: + self.lblCurrentLocation.text = "2" + default: + self.lblCurrentLocation.text = "no" + } + + return annotationView + } + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + + lblCurrentLocation.text = "" + locationManager.delegate = self + locationManager.desiredAccuracy = kCLLocationAccuracyBest + locationManager.requestWhenInUseAuthorization() + locationManager.startUpdatingLocation() + myMap.showsUserLocation = true + + + + } + + func goLocation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double) -> CLLocationCoordinate2D { + + let pLocation = CLLocationCoordinate2DMake(latitudeValue, longitudeValue) + let spanValue = MKCoordinateSpan(latitudeDelta: span, longitudeDelta: span) + let pRegion = MKCoordinateRegion(center: pLocation, span: spanValue) + myMap.setRegion(pRegion, animated: true) + customerLocation[0].latitude = latitudeValue + customerLocation[0].longitude = longitudeValue + return pLocation + } + + func setAnnotation(latitudeValue: CLLocationDegrees, longitudeValue: CLLocationDegrees, delta span: Double, title strTitle: String, subtitle strSubtitle:String){ + + let annotation = MKPointAnnotation() + annotation.coordinate = goLocation(latitudeValue: latitudeValue, longitudeValue: longitudeValue, delta: span) + annotation.title = strTitle + annotation.subtitle = strSubtitle + myMap.addAnnotation(annotation) + } + + + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { + let pLocation = locations.last + + _ = goLocation(latitudeValue: (pLocation?.coordinate.latitude)!, longitudeValue: (pLocation?.coordinate.longitude)!, delta: 0.01) + + + CLGeocoder().reverseGeocodeLocation(pLocation!, completionHandler: { + (placemarks, error) -> Void in + let pm = placemarks!.first + let country = pm!.country + var address:String = country! + if pm!.locality != nil { + address += " " + address += pm!.thoroughfare! + } + + }) + locationManager.stopUpdatingLocation() + +// for i in 0.. Void in +// let pm = placemarks!.first +// let country = pm!.country +// var address:String = country! +// if pm!.locality != nil { +// address += " " +// address += pm!.thoroughfare! +// self.customerLocationName.append(_: address) +// } +// +// +// +// +// self.lblCurrentLocation.text="현재 위치: " + address +// +// +// }) + + + + locationManager.stopUpdatingLocation() +// + //} + + placePins() + + + } + + func placePins() { + + + let coords = [CLLocationCoordinate2D(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocationCoordinate2D(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocationCoordinate2D(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] + + + + + + for i in coords.indices { + + let annotation = MKPointAnnotation() + annotation.coordinate = coords[i] + let findLocation = CLLocation(latitude:customerLocation[i].latitude, longitude: customerLocation[i].longitude) + let geocoder = CLGeocoder() + let locale = Locale(identifier: "Ko-kr") + geocoder.reverseGeocodeLocation(findLocation, preferredLocale: locale, completionHandler: {(placemarks, error) in + if let address: [CLPlacemark] = placemarks { + + if let name: String = address.last?.name { + print(String(i) + " " + name) + self.customerLocationName[i] = name + //self.customerLocationName.insert(name, at: i) + print(self.customerLocationName) + //self.lblCurrentLocation.text = self.customerLocationName[i] + + } + + + } + + + }) + //annotation.title = self.customerLocationName[i] + + + + myMap.addAnnotation(annotation) + switch annotation.coordinate.latitude { + case self.customerLocation[0].latitude: + self.lblCurrentLocation.text = "0" + case self.customerLocation[1].latitude: + self.lblCurrentLocation.text = "1" + case self.customerLocation[2].latitude: + self.lblCurrentLocation.text = "2" + default: + self.lblCurrentLocation.text = "no" + } + + //lblCurrentLocation.text = "주소: " + customerLocationName[i] + + } + + + } + + + +} + diff --git a/FE_iOS-main/Info.plist b/FE_iOS-main/Info.plist new file mode 100644 index 0000000..eee9e6e --- /dev/null +++ b/FE_iOS-main/Info.plist @@ -0,0 +1,68 @@ + + + + + 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 + + NSLocationWhenInUseUsageDescription + 사용자의 현재위치 정보가 필요합니다. + 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/FE_iOS-main/SceneDelegate.swift b/FE_iOS-main/SceneDelegate.swift new file mode 100644 index 0000000..47604a9 --- /dev/null +++ b/FE_iOS-main/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// FE_iOS-main +// +// Created by 김수경 on 2021/05/22. +// + +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/FE_iOS-main/TrackMyTraceViewController.swift b/FE_iOS-main/TrackMyTraceViewController.swift new file mode 100644 index 0000000..b4329e3 --- /dev/null +++ b/FE_iOS-main/TrackMyTraceViewController.swift @@ -0,0 +1,213 @@ +// +// TrackMyTraceViewController.swift +// HoTechCourse +// +// Created by 최강훈 on 2021/05/06. +// + +import UIKit +import CoreLocation +import MapKit + +class TrackMyTraceViewController: UIViewController { + + var cnt = 0; + + @IBOutlet weak var userName: UILabel! + @IBOutlet weak var userAddress: UILabel! + @IBOutlet weak var guardian: UILabel! + + + @IBAction func pickUpButton(_ sender: Any) { + if cnt < customerLocation.count { + userAddress.text = customerLocationName[cnt] + let place = MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: customerLocation[cnt].latitude, longitude: customerLocation[cnt].longitude)) + let mapItem = MKMapItem(placemark: place) + let options = [MKLaunchOptionsDirectionsModeKey: + MKLaunchOptionsDirectionsModeDriving] + + mapItem.openInMaps(launchOptions: options) + cnt += 1 + }else{ + cnt = 0 + userAddress.text = customerLocationName[0] + cnt += 1 + } + + + + } + + + + + + @IBOutlet weak var MapView: MKMapView! + + + @IBOutlet weak var start: UITextField! + + + @IBOutlet weak var destination: UITextField! + + var customerLocation: [(latitude:Double, longitude: Double)] = [(37.5506753, 127.0409622),(37.520641,126.9139242),(37.338904, 126.5930664),] + + var customerLocationName = [String](repeating: "", count:5) + + lazy var locationManager: CLLocationManager = { + let manager = CLLocationManager() + manager.desiredAccuracy = kCLLocationAccuracyBest + manager.startUpdatingLocation() + manager.delegate = self + + return manager + }() + + + var previousCoordinate: CLLocationCoordinate2D? + + override func viewDidLoad() { + super.viewDidLoad() + + getLocationUsagePermission() + // xcode 종료 후 어플을 다시 실행했을 때 뜨는 오류 방지. + self.MapView.mapType = MKMapType.standard + // 지도에 내 위치 표시 + MapView.showsUserLocation = true + // 현재 내 위치 기준으로 지도를 움직임. + self.MapView.setUserTrackingMode(.follow, animated: true) + + self.MapView.isZoomEnabled = true + self.MapView.delegate = self + + makePin() + + //self.trackData.date = Date() + } + + func makePin(){ + let coords = [CLLocationCoordinate2D(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocationCoordinate2D(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocationCoordinate2D(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] + + let findLocation = [CLLocation(latitude: customerLocation[0].latitude, longitude: customerLocation[0].longitude), CLLocation(latitude: customerLocation[1].latitude, longitude: customerLocation[1].longitude), CLLocation(latitude: customerLocation[2].latitude, longitude: customerLocation[2].longitude)] + + + for i in coords.indices { + + let annotation = MKPointAnnotation() + annotation.coordinate = coords[i] + let findLocation = CLLocation(latitude:customerLocation[i].latitude, longitude: customerLocation[i].longitude) + let geocoder = CLGeocoder() + let locale = Locale(identifier: "Ko-kr") + geocoder.reverseGeocodeLocation(findLocation, preferredLocale: locale, completionHandler: {(placemarks, error) in + if let address: [CLPlacemark] = placemarks { + + if let name: String = address.last?.name { + print(String(i) + " " + name) + self.customerLocationName[i] = name + //self.customerLocationName.insert(name, at: i) + print(self.customerLocationName) + //self.lblCurrentLocation.text = self.customerLocationName[i] + + } + + + } + + + }) +// let geocoder = CLGeocoder() +// let locale = Locale(identifier: "Ko-kr") +// for i in findLocation { +// print(i) +// +// +// +// } +// + } + + for i in coords{ + let annotation = MKPointAnnotation() + annotation.coordinate = i + annotation.title = "0" + MapView.addAnnotation(annotation) + } + + } + + func getLocationUsagePermission() { + self.locationManager.requestWhenInUseAuthorization() + } + + override func viewWillDisappear(_ animated: Bool) { + self.locationManager.stopUpdatingLocation() + } + + + +} + + + +extension TrackMyTraceViewController: CLLocationManagerDelegate { + + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { + + guard let location = locations.last else {return} + let latitude = location.coordinate.latitude + let longtitude = location.coordinate.longitude + + CLGeocoder().reverseGeocodeLocation(location, completionHandler: { + (placemarks, error) -> Void in + guard let pm = placemarks!.first else {return} + + if pm.locality != nil { + DispatchQueue.main.async { + self.start?.text = pm.thoroughfare! + } + } + + }) + + + if let previousCoordinate = self.previousCoordinate { + var points: [CLLocationCoordinate2D] = [] + let point1 = CLLocationCoordinate2DMake(previousCoordinate.latitude, previousCoordinate.longitude) + let point2: CLLocationCoordinate2D + = CLLocationCoordinate2DMake(latitude, longtitude) + points.append(point1) + points.append(point2) + let lineDraw = MKPolyline(coordinates: points, count:points.count) + self.MapView.addOverlay(lineDraw) + } + + self.previousCoordinate = location.coordinate + + } + + +} + +extension TrackMyTraceViewController: MKMapViewDelegate { + func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { + guard let polyLine = overlay as? MKPolyline + else { + print("can't draw polyline") + return MKOverlayRenderer() + } + let renderer = MKPolylineRenderer(polyline: polyLine) + renderer.strokeColor = .orange + renderer.lineWidth = 5.0 + renderer.alpha = 1.0 + + return renderer + } +} + +extension CLLocationCoordinate2D { + //distance in meters, as explained in CLLoactionDistance definition + func distance(from: CLLocationCoordinate2D) -> CLLocationDistance { + let destination=CLLocation(latitude:from.latitude,longitude:from.longitude) + return CLLocation(latitude: latitude, longitude: longitude).distance(from: destination) + } +}