From da5e055581464092d4d8b0523d5a397ba76a60dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 14:32:10 +0900 Subject: [PATCH 01/15] =?UTF-8?q?:package:=20=EC=95=B1=20=ED=83=80?= =?UTF-8?q?=EA=B2=9F=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20Package=20Dependency=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MusicSpot.xcodeproj/project.pbxproj | 53 +------------------ 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj index 2a1c470..7c15359 100644 --- a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj +++ b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj @@ -3,14 +3,10 @@ archiveVersion = 1; classes = { }; - objectVersion = 60; + objectVersion = 56; objects = { /* Begin PBXBuildFile section */ - 21B1B63D2B04C7CF00A63287 /* FoundationExt in Frameworks */ = {isa = PBXBuildFile; productRef = 21B1B63C2B04C7CF00A63287 /* FoundationExt */; }; - 21B1B63F2B04C7CF00A63287 /* MSLogger in Frameworks */ = {isa = PBXBuildFile; productRef = 21B1B63E2B04C7CF00A63287 /* MSLogger */; }; - 21B1B6412B04C7CF00A63287 /* MSUserDefaults in Frameworks */ = {isa = PBXBuildFile; productRef = 21B1B6402B04C7CF00A63287 /* MSUserDefaults */; }; - 21B1B6442B04D64A00A63287 /* MSNetwork in Frameworks */ = {isa = PBXBuildFile; productRef = 21B1B6432B04D64A00A63287 /* MSNetwork */; }; DD73F8592B024C4900EE9BF2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD73F8582B024C4900EE9BF2 /* AppDelegate.swift */; }; DD73F85B2B024C4900EE9BF2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD73F85A2B024C4900EE9BF2 /* SceneDelegate.swift */; }; DD73F8622B024C4B00EE9BF2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DD73F8612B024C4B00EE9BF2 /* Assets.xcassets */; }; @@ -32,23 +28,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 21B1B63F2B04C7CF00A63287 /* MSLogger in Frameworks */, - 21B1B6412B04C7CF00A63287 /* MSUserDefaults in Frameworks */, - 21B1B63D2B04C7CF00A63287 /* FoundationExt in Frameworks */, - 21B1B6442B04D64A00A63287 /* MSNetwork in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2137DBFD2B063A1500395C06 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; DD73F84C2B024C4900EE9BF2 = { isa = PBXGroup; children = ( @@ -94,10 +79,6 @@ ); name = MusicSpot; packageProductDependencies = ( - 21B1B63C2B04C7CF00A63287 /* FoundationExt */, - 21B1B63E2B04C7CF00A63287 /* MSLogger */, - 21B1B6402B04C7CF00A63287 /* MSUserDefaults */, - 21B1B6432B04D64A00A63287 /* MSNetwork */, ); productName = MusicSpot; productReference = DD73F8552B024C4900EE9BF2 /* MusicSpot.app */; @@ -128,8 +109,6 @@ ); mainGroup = DD73F84C2B024C4900EE9BF2; packageReferences = ( - 21B1B63B2B04C7CF00A63287 /* XCLocalSwiftPackageReference "../MSFoundation" */, - 21B1B6422B04D64A00A63287 /* XCLocalSwiftPackageReference "../MSNetwork" */, ); productRefGroup = DD73F8562B024C4900EE9BF2 /* Products */; projectDirPath = ""; @@ -386,36 +365,6 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 21B1B63B2B04C7CF00A63287 /* XCLocalSwiftPackageReference "../MSFoundation" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSFoundation; - }; - 21B1B6422B04D64A00A63287 /* XCLocalSwiftPackageReference "../MSNetwork" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSNetwork; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 21B1B63C2B04C7CF00A63287 /* FoundationExt */ = { - isa = XCSwiftPackageProductDependency; - productName = FoundationExt; - }; - 21B1B63E2B04C7CF00A63287 /* MSLogger */ = { - isa = XCSwiftPackageProductDependency; - productName = MSLogger; - }; - 21B1B6402B04C7CF00A63287 /* MSUserDefaults */ = { - isa = XCSwiftPackageProductDependency; - productName = MSUserDefaults; - }; - 21B1B6432B04D64A00A63287 /* MSNetwork */ = { - isa = XCSwiftPackageProductDependency; - productName = MSNetwork; - }; -/* End XCSwiftPackageProductDependency section */ }; rootObject = DD73F84D2B024C4900EE9BF2 /* Project object */; } From 65af1795c4eff0741c67443495688d3c8fd4c1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Mon, 27 Nov 2023 14:10:09 +0900 Subject: [PATCH 02/15] =?UTF-8?q?Workspace=20=EC=84=B8=ED=8C=85=20Cherry-P?= =?UTF-8?q?ick?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/MusicSpot.xcworkspace/contents.xcworkspacedata | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata index 8cad135..37bd4b2 100644 --- a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata +++ b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata @@ -11,12 +11,15 @@ location = "group:MusicSpot/MusicSpot.xcodeproj"> + location = "group:MSData"> + location = "group:MSUIKit"> + location = "group:MSCoreKit"> + + From e2ca9721fc610603dea5db412d8e9c5572b30512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 15:15:03 +0900 Subject: [PATCH 03/15] =?UTF-8?q?:construction=5Fworker:=20CI=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Xcode_build_test.yml | 92 ++++++++++++-------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/.github/workflows/Xcode_build_test.yml b/.github/workflows/Xcode_build_test.yml index d61884a..116eb3d 100644 --- a/.github/workflows/Xcode_build_test.yml +++ b/.github/workflows/Xcode_build_test.yml @@ -1,7 +1,7 @@ name: Xcode_build_test env: - PACKAGES_JSON: '["MSCoreKit", "MSFoundation", "MSUIKit"]' + WORKSPACE: iOS/MusicSpot.xcworkspace on: pull_request: @@ -14,7 +14,7 @@ jobs: prepare-matrix: runs-on: macos-13 outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} + matrix: ${{ steps.generate-matrix.outputs.matrix }} steps: - uses: actions/checkout@v4 @@ -24,45 +24,21 @@ jobs: with: xcode-version: '15.0.1' - - name: Install jq - run: brew install jq - - name: Generate matrix - id: set-matrix + id: generate-matrix run: | - cd iOS matrix="{\"include\":[" - packages=$(echo $PACKAGES_JSON | jq -r '.[]') first_entry=true - for package in $packages; do - cd $package - for scheme in $(xcodebuild -list | grep -E '^[[:space:]]*Schemes:' -A 10 | tail -n +2 | grep -v '^$'); do - if [[ $scheme != *"-Package" ]] && [[ $scheme != *"Tests" ]]; then - if [ "$first_entry" = true ]; then - first_entry=false - else - matrix+="," - fi - matrix+="{\"package\":\"$package\", \"scheme\":\"$scheme\"}" + for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do + if [[ $scheme != *"-Package" ]] && [[ $scheme != *"Tests" ]]; then + if [ "$first_entry" = true ]; then + first_entry=false + else + matrix+="," fi - done - cd .. + matrix+="{\"scheme\":\"$scheme\"}" + fi done - # cd Features - # for package in JourneyList SaveJourney; do - # cd $package - # for scheme in $(xcodebuild -list | grep -E '^[[:space:]]*Schemes:' -A 10 | tail -n +2 | grep -v '^$'); do - # if [[ $scheme != *"-Package" ]]; then - # if [ "$first_entry" = true ]; then - # first_entry=false - # else - # matrix+="," - # fi - # matrix+="{\"package\":\"$package\", \"scheme\":\"$scheme\"}" - # fi - # done - # cd .. - # done matrix+="]}" echo "matrix=$matrix" >> $GITHUB_OUTPUT @@ -82,11 +58,10 @@ jobs: xcode-version: '15.0.1' - name: 🛠️ Build ${{ matrix.scheme }} - if: ${{ !contains(matrix.scheme, 'Tests') }} run: | - echo "🛠️ Building ${{ matrix.package }} - Scheme: ${{ matrix.scheme }}" - cd iOS/${{ matrix.package }} + echo "🛠️ Building ${{ matrix.scheme }}" xcodebuild \ + -workspace ${{ env.WORKSPACE }} \ -scheme ${{ matrix.scheme }} \ -sdk 'iphonesimulator' \ -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ @@ -95,12 +70,33 @@ jobs: prepare-test-matrix: runs-on: macos-13 outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} + matrix: ${{ steps.generate-test-matrix.outputs.matrix }} steps: - - id: set-matrix - run: | - matrix="{\"package\": $PACKAGES_JSON}" - echo "matrix=$matrix" >> $GITHUB_OUTPUT + - uses: actions/checkout@v4 + + - name: Setup Xcode + if: ${{ !env.ACT }} + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '15.0.1' + + - name: Generate test matrix + id: generate-test-matrix + run: | + matrix="{\"include\":[" + first_entry=true + for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do + if [[ $scheme == *"Tests" ]]; then + if [ "$first_entry" = true ]; then + first_entry=false + else + matrix+="," + fi + matrix+="{\"scheme\":\"$scheme\"}" + fi + done + matrix+="]}" + echo "matrix=$matrix" >> $GITHUB_OUTPUT xcode-test: needs: prepare-test-matrix @@ -117,12 +113,12 @@ jobs: with: xcode-version: '15.0.1' - - name: 🧪 Test ${{ matrix.package }} + - name: 🧪 Test ${{ matrix.scheme }} run: | - echo "🧪 Testing ${{ matrix.package }}" - cd iOS/${{ matrix.package }} + echo "🧪 Testing ${{ matrix.scheme }}" xcodebuild \ - -scheme ${{ matrix.package }}-Package \ + -workspace ${{ env.WORKSPACE }} \ + -scheme ${{ matrix.scheme }} \ -sdk 'iphonesimulator' \ -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ - clean test + test From 2237f0a2ec75470cfd38b8b39d95af0d1156ff7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 15:34:34 +0900 Subject: [PATCH 04/15] =?UTF-8?q?:package:=20Workspace=20=EC=84=B8?= =?UTF-8?q?=ED=8C=85,=20Feature=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Features/HomeMap/.gitignore | 8 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ iOS/Features/HomeMap/Package.swift | 20 +++++++ .../HomeMap/Sources/HomeMap/HomeMap.swift | 2 + .../Tests/HomeMapTests/HomeMapTests.swift | 12 ++++ iOS/Features/RecordJourney/.gitignore | 8 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ iOS/Features/RecordJourney/Package.swift | 20 +++++++ .../Sources/RecordJourney/RecordJourney.swift | 2 + .../RecordJourneyTests.swift | 12 ++++ iOS/Features/RewindJourney/.gitignore | 8 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ iOS/Features/RewindJourney/Package.swift | 56 +++++++++++++++++++ .../Sources/RewindJourney/RewindJourney.swift | 2 + .../RewindJourneyTests.swift | 12 ++++ iOS/Features/SelectSong/.gitignore | 8 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ iOS/Features/SelectSong/Package.swift | 20 +++++++ .../Sources/SelectSong/SelectSong.swift | 2 + .../SelectSongTests/SelectSongTests.swift | 12 ++++ iOS/Features/Spot/.gitignore | 8 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ iOS/Features/Spot/Package.swift | 52 +++++++++++++++++ iOS/Features/Spot/Sources/Spot/Spot.swift | 2 + .../Spot/Tests/SpotTests/SpotTests.swift | 12 ++++ .../contents.xcworkspacedata | 17 +++++- 26 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 iOS/Features/HomeMap/.gitignore create mode 100644 iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/HomeMap/Package.swift create mode 100644 iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift create mode 100644 iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift create mode 100644 iOS/Features/RecordJourney/.gitignore create mode 100644 iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/RecordJourney/Package.swift create mode 100644 iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift create mode 100644 iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift create mode 100644 iOS/Features/RewindJourney/.gitignore create mode 100644 iOS/Features/RewindJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/RewindJourney/Package.swift create mode 100644 iOS/Features/RewindJourney/Sources/RewindJourney/RewindJourney.swift create mode 100644 iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift create mode 100644 iOS/Features/SelectSong/.gitignore create mode 100644 iOS/Features/SelectSong/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/SelectSong/Package.swift create mode 100644 iOS/Features/SelectSong/Sources/SelectSong/SelectSong.swift create mode 100644 iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift create mode 100644 iOS/Features/Spot/.gitignore create mode 100644 iOS/Features/Spot/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/Spot/Package.swift create mode 100644 iOS/Features/Spot/Sources/Spot/Spot.swift create mode 100644 iOS/Features/Spot/Tests/SpotTests/SpotTests.swift diff --git a/iOS/Features/HomeMap/.gitignore b/iOS/Features/HomeMap/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/HomeMap/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/HomeMap/Package.swift b/iOS/Features/HomeMap/Package.swift new file mode 100644 index 0000000..75b4ca0 --- /dev/null +++ b/iOS/Features/HomeMap/Package.swift @@ -0,0 +1,20 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "HomeMap", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "HomeMap", + targets: ["HomeMap"]) + ], + targets: [ + .target(name: "HomeMap"), + .testTarget(name: "HomeMapTests", + dependencies: ["HomeMap"]) + ] +) diff --git a/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift b/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift b/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift new file mode 100644 index 0000000..dd3a3c2 --- /dev/null +++ b/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import HomeMap + +final class HomeMapTests: XCTestCase { + func testExample() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +} diff --git a/iOS/Features/RecordJourney/.gitignore b/iOS/Features/RecordJourney/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/RecordJourney/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/RecordJourney/Package.swift b/iOS/Features/RecordJourney/Package.swift new file mode 100644 index 0000000..e9def1a --- /dev/null +++ b/iOS/Features/RecordJourney/Package.swift @@ -0,0 +1,20 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "RecordJourney", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "RecordJourney", + targets: ["RecordJourney"]) + ], + targets: [ + .target(name: "RecordJourney"), + .testTarget(name: "RecordJourneyTests", + dependencies: ["RecordJourney"]) + ] +) diff --git a/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift b/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift b/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift new file mode 100644 index 0000000..42a8d6c --- /dev/null +++ b/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import RecordJourney + +final class RecordJourneyTests: XCTestCase { + func testExample() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +} diff --git a/iOS/Features/RewindJourney/.gitignore b/iOS/Features/RewindJourney/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/RewindJourney/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/RewindJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/RewindJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/RewindJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/RewindJourney/Package.swift b/iOS/Features/RewindJourney/Package.swift new file mode 100644 index 0000000..12b6949 --- /dev/null +++ b/iOS/Features/RewindJourney/Package.swift @@ -0,0 +1,56 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +// MARK: - Constants + +extension String { + static let package = "RewindJourney" + static let rewindJourneyView = "RewindJourneyView" + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" + + var testTarget: String { + return self + "Tests" + } + + var path: String { + return "../../" + self + } + + var featurePath: String { + return "../Features/" + self + } + +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: .rewindJourneyView, + targets: [.rewindJourneyView]) + ], + dependencies: [ + .package(path: .msUIKit.path), + .package(path: .msFoundation.path) + ], + targets: [ + // Codes + .target(name: .rewindJourneyView, + dependencies: [ + .product(name: .msUIKit, package: .msUIKit), + .product(name: .msDesignsystem, package: .msUIKit), + .product(name: .msLogger, package: .msFoundation) + ]) + + // Tests + ] +) diff --git a/iOS/Features/RewindJourney/Sources/RewindJourney/RewindJourney.swift b/iOS/Features/RewindJourney/Sources/RewindJourney/RewindJourney.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/RewindJourney/Sources/RewindJourney/RewindJourney.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift b/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift new file mode 100644 index 0000000..b8c4d4a --- /dev/null +++ b/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import RewindJourney + +final class RewindJourneyTests: XCTestCase { + func testExample() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +} diff --git a/iOS/Features/SelectSong/.gitignore b/iOS/Features/SelectSong/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/SelectSong/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/SelectSong/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/SelectSong/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/SelectSong/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/SelectSong/Package.swift b/iOS/Features/SelectSong/Package.swift new file mode 100644 index 0000000..4779062 --- /dev/null +++ b/iOS/Features/SelectSong/Package.swift @@ -0,0 +1,20 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SelectSong", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "SelectSong", + targets: ["SelectSong"]) + ], + targets: [ + .target(name: "SelectSong"), + .testTarget(name: "SelectSongTests", + dependencies: ["SelectSong"]) + ] +) diff --git a/iOS/Features/SelectSong/Sources/SelectSong/SelectSong.swift b/iOS/Features/SelectSong/Sources/SelectSong/SelectSong.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/SelectSong/Sources/SelectSong/SelectSong.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift b/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift new file mode 100644 index 0000000..d072718 --- /dev/null +++ b/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import SelectSong + +final class SelectSongTests: XCTestCase { + func testExample() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +} diff --git a/iOS/Features/Spot/.gitignore b/iOS/Features/Spot/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/Spot/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/Spot/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/Spot/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/Spot/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/Spot/Package.swift b/iOS/Features/Spot/Package.swift new file mode 100644 index 0000000..3398ceb --- /dev/null +++ b/iOS/Features/Spot/Package.swift @@ -0,0 +1,52 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +// MARK: - Constants + +extension String { + static let package = "Spot" + static let spotView = "SpotView" + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" + + var testTarget: String { + return self + "Tests" + } + + var path: String { + return "../../" + self + } + +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: .spotView, + targets: [.spotView]) + ], + dependencies: [ + .package(path: .msUIKit.path), + .package(path: .msFoundation.path) + ], + targets: [ + // Codes + .target(name: .spotView, + dependencies: [ + .product(name: .msUIKit, package: .msUIKit), + .product(name: .msDesignsystem, package: .msUIKit), + .product(name: .msLogger, package: .msFoundation) + ]) + + // Tests + ] +) diff --git a/iOS/Features/Spot/Sources/Spot/Spot.swift b/iOS/Features/Spot/Sources/Spot/Spot.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/Spot/Sources/Spot/Spot.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/Spot/Tests/SpotTests/SpotTests.swift b/iOS/Features/Spot/Tests/SpotTests/SpotTests.swift new file mode 100644 index 0000000..e78beda --- /dev/null +++ b/iOS/Features/Spot/Tests/SpotTests/SpotTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import Spot + +final class SpotTests: XCTestCase { + func testExample() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +} diff --git a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata index 37bd4b2..a34d56e 100644 --- a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata +++ b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata @@ -2,11 +2,26 @@ + location = "group:Features/HomeMap"> + + + + + + + + + + From 8b0842f92a6f842da8554f3d7c55b710aa7c11ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 15:35:05 +0900 Subject: [PATCH 05/15] =?UTF-8?q?:package:=20commit=20script=EC=97=90=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=EB=90=9C=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/commit b/iOS/commit index 144cec4..2355a98 100755 --- a/iOS/commit +++ b/iOS/commit @@ -1,7 +1,7 @@ #!/bin/sh LINTPATH='.swiftlint.yml' -declare -a PATHS=("MSCoreKit" "MSFoundation" "MSUIKit" "MusicSpot") +declare -a PATHS=("MSCoreKit" "MSFoundation" "MSUIKit" "MSData" "MusicSpot" "Features") failures="" for path in "${PATHS[@]}"; do From 8e0c115ea9cfb8715087c9f7c5fcc2fb06dc4764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 15:38:08 +0900 Subject: [PATCH 06/15] =?UTF-8?q?:package:=20SpotView=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EC=9D=B4=EB=A6=84=20Spot=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Features/Spot/Package.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/iOS/Features/Spot/Package.swift b/iOS/Features/Spot/Package.swift index 3398ceb..68e4d11 100644 --- a/iOS/Features/Spot/Package.swift +++ b/iOS/Features/Spot/Package.swift @@ -7,7 +7,7 @@ import PackageDescription extension String { static let package = "Spot" - static let spotView = "SpotView" + static let spot = "Spot" static let msUIKit = "MSUIKit" static let msFoundation = "MSFoundation" static let msDesignsystem = "MSDesignSystem" @@ -31,8 +31,8 @@ let package = Package( .iOS(.v15) ], products: [ - .library(name: .spotView, - targets: [.spotView]) + .library(name: .spot, + targets: [.spot]) ], dependencies: [ .package(path: .msUIKit.path), @@ -40,7 +40,7 @@ let package = Package( ], targets: [ // Codes - .target(name: .spotView, + .target(name: .spot, dependencies: [ .product(name: .msUIKit, package: .msUIKit), .product(name: .msDesignsystem, package: .msUIKit), From a5f0d3029e8e3de6f0f7b9d11f829199b028d024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 16:27:53 +0900 Subject: [PATCH 07/15] =?UTF-8?q?:package:=20RewindJourneyView=20=E2=9E=A1?= =?UTF-8?q?=EF=B8=8F=20RewindJourney=EB=A1=9C=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Features/RewindJourney/Package.swift | 8 +- .../MSCacheStorage/MSImageCacheStorage.swift | 84 +++++++++++++++++++ .../Protocol/CacheStorage.swift | 22 +++++ .../Sources/MSNetworking/ImageRouter.swift | 38 +++++++++ 4 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift create mode 100644 iOS/MSCoreKit/Sources/MSCacheStorage/Protocol/CacheStorage.swift create mode 100644 iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift diff --git a/iOS/Features/RewindJourney/Package.swift b/iOS/Features/RewindJourney/Package.swift index 12b6949..fbd5d5c 100644 --- a/iOS/Features/RewindJourney/Package.swift +++ b/iOS/Features/RewindJourney/Package.swift @@ -7,7 +7,7 @@ import PackageDescription extension String { static let package = "RewindJourney" - static let rewindJourneyView = "RewindJourneyView" + static let rewindJourney = "RewindJourney" static let msUIKit = "MSUIKit" static let msFoundation = "MSFoundation" static let msDesignsystem = "MSDesignSystem" @@ -35,8 +35,8 @@ let package = Package( .iOS(.v15) ], products: [ - .library(name: .rewindJourneyView, - targets: [.rewindJourneyView]) + .library(name: .rewindJourney, + targets: [.rewindJourney]) ], dependencies: [ .package(path: .msUIKit.path), @@ -44,7 +44,7 @@ let package = Package( ], targets: [ // Codes - .target(name: .rewindJourneyView, + .target(name: .rewindJourney, dependencies: [ .product(name: .msUIKit, package: .msUIKit), .product(name: .msDesignsystem, package: .msUIKit), diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift new file mode 100644 index 0000000..b4538ee --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift @@ -0,0 +1,84 @@ +// +// MSImageCacheStorage.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// + +import Foundation + +public final class MSImageCacheStorage: CacheStorage { + + public typealias Cache = NSCache + + // MARK: - Properties + + private let memory: Cache + private let disk: FileManager + + private let decoder = JSONDecoder() + + // MARK: - Initializer + + public init(cache: Cache = Cache(), + fileManager: FileManager = .default) { + self.memory = cache + self.disk = fileManager + } + + // MARK: - Functions + + /// 캐싱된 데이터를 불러옵니다. + public func data(forKey key: String, etag: String? = nil) async -> NSData? { + // Memory Cache + if let memoryData = self.memory.object(forKey: key as NSString) { // memory hit + return memoryData + } + + // Disk Cache + if let cacheURL = self.cacheURL(forCache: "\(key).cache"), + let diskData = self.disk.contents(atPath: cacheURL.path) { // disk hit + return try? self.decoder.decode(MSCacheableData.self, from: diskData) + } + + return nil + } + + public func cleanDisk() throws { + if let path = self.cacheDirectoryURL?.path { + try self.disk.removeItem(atPath: path) + } + } + +} + +// MARK: - URLs + +private extension MSImageCacheStorage { + + var cacheDirectoryURL: URL? { + if #available(iOS 16.0, *) { + return try? self.disk.url(for: .cachesDirectory, + in: .userDomainMask, + appropriateFor: .cachesDirectory, + create: true) + } else { + return self.disk + .urls(for: .cachesDirectory, in: .userDomainMask) + .first + } + } + + func cacheURL(forCache cache: String) -> URL? { + if #available(iOS 16.0, *) { + return self.cacheDirectoryURL? + .appending(path: "MusicSpot", directoryHint: .isDirectory) + .appending(component: cache, directoryHint: .notDirectory) + } else { + return self.cacheDirectoryURL? + .appendingPathExtension("MusicSpot") + .appendingPathComponent(cache) + } + } + +} diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/Protocol/CacheStorage.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/Protocol/CacheStorage.swift new file mode 100644 index 0000000..0cf1970 --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSCacheStorage/Protocol/CacheStorage.swift @@ -0,0 +1,22 @@ +// +// CacheStorage.swift +// MSCoreKit +// +// Created by 이창준 on 2023.11.28. +// + +import Foundation + +public protocol CacheStorage { + + associatedtype Key: AnyObject = NSString + associatedtype Value: AnyObject + + typealias Cache = NSCache + + // MARK: - Functions + + func data(forKey key: Key) async -> Value? + func cleanDisk() throws + +} diff --git a/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift b/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift new file mode 100644 index 0000000..9218c67 --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift @@ -0,0 +1,38 @@ +// +// ImageRouter.swift +// MSCoreKit +// +// Created by 이창준 on 2023.11.28. +// + +import Foundation + +public struct ImageRouter: Router { + + // MARK: - Properties + + public var baseURL: String + + public var pathURL: String + + public var method: HTTPMethod { + return .get + } + + public var body: HTTPBody? + + public var headers: HTTPHeaders? + + // MARK: - Initializer + + public init(baseURL: String, + pathURL: String, + body: HTTPBody? = nil, + headers: HTTPHeaders? = nil) { + self.baseURL = baseURL + self.pathURL = pathURL + self.body = body + self.headers = headers + } + +} From 710e9f90b46a9bd54539f2e956835533f5559be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 16:53:50 +0900 Subject: [PATCH 08/15] =?UTF-8?q?:package:=20=ED=9D=94=EC=A0=81=EB=A7=8C?= =?UTF-8?q?=20=EC=9E=88=EB=8A=94=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=83=88?= =?UTF-8?q?=EB=A1=9C=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Features/HomeMap/Package.swift | 4 +- .../Tests/HomeMapTests/HomeMapTests.swift | 12 --- iOS/Features/JourneyList/.gitignore | 8 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ iOS/Features/JourneyList/Package.swift | 27 +++++++ .../Sources/JourneyList/JourneyList.swift | 2 + iOS/Features/RecordJourney/Package.swift | 4 +- .../RecordJourneyTests.swift | 12 --- iOS/Features/SaveJourney/.gitignore | 8 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ iOS/Features/SaveJourney/Package.swift | 23 ++++++ .../Sources/SaveJourney/SaveJourney.swift | 2 + iOS/Features/SelectSong/Package.swift | 4 +- .../SelectSongTests/SelectSongTests.swift | 12 --- .../xcschemes/MSCacheStorage.xcscheme | 12 +++ .../xcshareddata/xcschemes/MSFetcher.xcscheme | 12 +++ .../xcschemes/MSNetworking.xcscheme | 12 +++ .../xcschemes/MSPersistentStorage.xcscheme | 12 +++ iOS/MSCoreKit/Package.swift | 8 +- iOS/MSData/.gitignore | 8 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ .../xcshareddata/xcschemes/MSData.xcscheme | 78 +++++++++++++++++++ .../xcschemes/MSDataTests.xcscheme | 53 +++++++++++++ iOS/MSData/Package.swift | 25 ++++++ iOS/MSData/Sources/MSData/MSData.swift | 2 + .../Tests/MSDataTests/MSDataTests.swift} | 4 +- .../xcshareddata/xcschemes/MSLogger.xcscheme | 12 +++ .../xcschemes/MSUserDefaults.xcscheme | 78 +++++++++++++++++++ iOS/MSUIKit/Package.swift | 6 +- .../MSDesignSystemTests.swift | 10 --- .../contents.xcworkspacedata | 8 +- .../xcshareddata/xcschemes/MusicSpot.xcscheme | 77 ++++++++++++++++++ 32 files changed, 486 insertions(+), 73 deletions(-) delete mode 100644 iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift create mode 100644 iOS/Features/JourneyList/.gitignore create mode 100644 iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/JourneyList/Package.swift create mode 100644 iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift delete mode 100644 iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift create mode 100644 iOS/Features/SaveJourney/.gitignore create mode 100644 iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/SaveJourney/Package.swift create mode 100644 iOS/Features/SaveJourney/Sources/SaveJourney/SaveJourney.swift delete mode 100644 iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift create mode 100644 iOS/MSData/.gitignore create mode 100644 iOS/MSData/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSData.xcscheme create mode 100644 iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme create mode 100644 iOS/MSData/Package.swift create mode 100644 iOS/MSData/Sources/MSData/MSData.swift rename iOS/{Features/Spot/Tests/SpotTests/SpotTests.swift => MSData/Tests/MSDataTests/MSDataTests.swift} (82%) create mode 100644 iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaults.xcscheme delete mode 100644 iOS/MSUIKit/Tests/MSDesignSystemTests/MSDesignSystemTests.swift create mode 100644 iOS/MusicSpot/MusicSpot.xcodeproj/xcshareddata/xcschemes/MusicSpot.xcscheme diff --git a/iOS/Features/HomeMap/Package.swift b/iOS/Features/HomeMap/Package.swift index 75b4ca0..791aac9 100644 --- a/iOS/Features/HomeMap/Package.swift +++ b/iOS/Features/HomeMap/Package.swift @@ -13,8 +13,6 @@ let package = Package( targets: ["HomeMap"]) ], targets: [ - .target(name: "HomeMap"), - .testTarget(name: "HomeMapTests", - dependencies: ["HomeMap"]) + .target(name: "HomeMap") ] ) diff --git a/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift b/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift deleted file mode 100644 index dd3a3c2..0000000 --- a/iOS/Features/HomeMap/Tests/HomeMapTests/HomeMapTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import XCTest -@testable import HomeMap - -final class HomeMapTests: XCTestCase { - func testExample() throws { - // XCTest Documentation - // https://developer.apple.com/documentation/xctest - - // Defining Test Cases and Test Methods - // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods - } -} diff --git a/iOS/Features/JourneyList/.gitignore b/iOS/Features/JourneyList/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/JourneyList/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/JourneyList/Package.swift b/iOS/Features/JourneyList/Package.swift new file mode 100644 index 0000000..0920ee1 --- /dev/null +++ b/iOS/Features/JourneyList/Package.swift @@ -0,0 +1,27 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "JourneyList", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "JourneyList", + targets: ["JourneyList"]) + ], + dependencies: [ + .package(name: "MSData", + path: "../../MSData"), + .package(name: "MSUIKit", + path: "../../MSUIKit"), + .package(name: "MSNetworking", + path: "../../MSCoreKit") + ], + targets: [ + .target(name: "JourneyList", + dependencies: ["MSData", "MSUIKit", "MSNetworking"]) + ] +) diff --git a/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift b/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/RecordJourney/Package.swift b/iOS/Features/RecordJourney/Package.swift index e9def1a..ab62c81 100644 --- a/iOS/Features/RecordJourney/Package.swift +++ b/iOS/Features/RecordJourney/Package.swift @@ -13,8 +13,6 @@ let package = Package( targets: ["RecordJourney"]) ], targets: [ - .target(name: "RecordJourney"), - .testTarget(name: "RecordJourneyTests", - dependencies: ["RecordJourney"]) + .target(name: "RecordJourney") ] ) diff --git a/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift b/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift deleted file mode 100644 index 42a8d6c..0000000 --- a/iOS/Features/RecordJourney/Tests/RecordJourneyTests/RecordJourneyTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import XCTest -@testable import RecordJourney - -final class RecordJourneyTests: XCTestCase { - func testExample() throws { - // XCTest Documentation - // https://developer.apple.com/documentation/xctest - - // Defining Test Cases and Test Methods - // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods - } -} diff --git a/iOS/Features/SaveJourney/.gitignore b/iOS/Features/SaveJourney/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/Features/SaveJourney/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/SaveJourney/Package.swift b/iOS/Features/SaveJourney/Package.swift new file mode 100644 index 0000000..490cd31 --- /dev/null +++ b/iOS/Features/SaveJourney/Package.swift @@ -0,0 +1,23 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SaveJourney", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "SaveJourney", + targets: ["SaveJourney"]) + ], + dependencies: [ + .package(name: "MSUIKit", + path: "../../MSUIKit") + ], + targets: [ + .target(name: "SaveJourney", + dependencies: ["MSUIKit"]) + ] +) diff --git a/iOS/Features/SaveJourney/Sources/SaveJourney/SaveJourney.swift b/iOS/Features/SaveJourney/Sources/SaveJourney/SaveJourney.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/Features/SaveJourney/Sources/SaveJourney/SaveJourney.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/SelectSong/Package.swift b/iOS/Features/SelectSong/Package.swift index 4779062..b78d896 100644 --- a/iOS/Features/SelectSong/Package.swift +++ b/iOS/Features/SelectSong/Package.swift @@ -13,8 +13,6 @@ let package = Package( targets: ["SelectSong"]) ], targets: [ - .target(name: "SelectSong"), - .testTarget(name: "SelectSongTests", - dependencies: ["SelectSong"]) + .target(name: "SelectSong") ] ) diff --git a/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift b/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift deleted file mode 100644 index d072718..0000000 --- a/iOS/Features/SelectSong/Tests/SelectSongTests/SelectSongTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import XCTest -@testable import SelectSong - -final class SelectSongTests: XCTestCase { - func testExample() throws { - // XCTest Documentation - // https://developer.apple.com/documentation/xctest - - // Defining Test Cases and Test Methods - // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods - } -} diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorage.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorage.xcscheme index 1113d29..a20692e 100644 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorage.xcscheme +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorage.xcscheme @@ -28,6 +28,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSData.xcscheme b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSData.xcscheme new file mode 100644 index 0000000..fdac714 --- /dev/null +++ b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSData.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme new file mode 100644 index 0000000..c0fb639 --- /dev/null +++ b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSData/Package.swift b/iOS/MSData/Package.swift new file mode 100644 index 0000000..bffa772 --- /dev/null +++ b/iOS/MSData/Package.swift @@ -0,0 +1,25 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. +import PackageDescription + +let package = Package( + name: "MSData", + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: "MSData", + targets: ["MSData"]) + ], + dependencies: [ + .package(name: "MSNetworking", + path: "../MSCoreKit") + ], + targets: [ + .target(name: "MSData", + dependencies: ["MSNetworking"], + resources: [.process("Resources")]), + .testTarget(name: "MSDataTests", + dependencies: ["MSData"]) + ] +) diff --git a/iOS/MSData/Sources/MSData/MSData.swift b/iOS/MSData/Sources/MSData/MSData.swift new file mode 100644 index 0000000..08b22b8 --- /dev/null +++ b/iOS/MSData/Sources/MSData/MSData.swift @@ -0,0 +1,2 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book diff --git a/iOS/Features/Spot/Tests/SpotTests/SpotTests.swift b/iOS/MSData/Tests/MSDataTests/MSDataTests.swift similarity index 82% rename from iOS/Features/Spot/Tests/SpotTests/SpotTests.swift rename to iOS/MSData/Tests/MSDataTests/MSDataTests.swift index e78beda..18cf9e1 100644 --- a/iOS/Features/Spot/Tests/SpotTests/SpotTests.swift +++ b/iOS/MSData/Tests/MSDataTests/MSDataTests.swift @@ -1,7 +1,7 @@ import XCTest -@testable import Spot +@testable import MSData -final class SpotTests: XCTestCase { +final class MSDataTests: XCTestCase { func testExample() throws { // XCTest Documentation // https://developer.apple.com/documentation/xctest diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme index c44d62d..04b9652 100644 --- a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme @@ -28,6 +28,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSUIKit/Package.swift b/iOS/MSUIKit/Package.swift index 0e5acca..f100a0e 100644 --- a/iOS/MSUIKit/Package.swift +++ b/iOS/MSUIKit/Package.swift @@ -36,11 +36,7 @@ let package = Package( .process("../MSDesignSystem/Resources") ]), .target(name: .uiKit, - dependencies: ["MSDesignSystem"]), - - // Tests - .testTarget(name: .designSystem.testTarget, - dependencies: ["MSDesignSystem"]) + dependencies: ["MSDesignSystem"]) ], swiftLanguageVersions: [.v5] ) diff --git a/iOS/MSUIKit/Tests/MSDesignSystemTests/MSDesignSystemTests.swift b/iOS/MSUIKit/Tests/MSDesignSystemTests/MSDesignSystemTests.swift deleted file mode 100644 index 7eebb79..0000000 --- a/iOS/MSUIKit/Tests/MSDesignSystemTests/MSDesignSystemTests.swift +++ /dev/null @@ -1,10 +0,0 @@ -// -// MSDesignSystemTests.swift -// MSUIKit -// -// Created by 이창준 on 11/26/23. -// - -import XCTest - -final class MSDesignSystemTests: XCTestCase { } diff --git a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata index a34d56e..63c9482 100644 --- a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata +++ b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata @@ -1,6 +1,9 @@ + + @@ -22,9 +25,6 @@ - - @@ -35,6 +35,6 @@ location = "group:MSCoreKit"> + location = "group:MusicSpot/../MSFoundation"> diff --git a/iOS/MusicSpot/MusicSpot.xcodeproj/xcshareddata/xcschemes/MusicSpot.xcscheme b/iOS/MusicSpot/MusicSpot.xcodeproj/xcshareddata/xcschemes/MusicSpot.xcscheme new file mode 100644 index 0000000..7eb04dc --- /dev/null +++ b/iOS/MusicSpot/MusicSpot.xcodeproj/xcshareddata/xcschemes/MusicSpot.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 63230d7a818b696cc15fd7db8ae54fe2948b3414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 17:16:02 +0900 Subject: [PATCH 09/15] =?UTF-8?q?:art:=20=EB=B9=8C=EB=93=9C=20=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MSCacheStorage/MSCacheStorage.swift | 96 ------------------ .../MSCacheStorage/MSCacheableData.swift | 29 ------ .../MSCacheStorage/MSImageCacheStorage.swift | 4 +- .../Sources/MSNetworking/ImageRouter.swift | 38 ------- .../Sources/MSNetworking/MSRouter.swift | 42 -------- .../Calender.pdf | Bin .../Contents.json | 0 .../Calender.imageset/Calender 1.pdf | Bin 4018 -> 0 bytes 8 files changed, 2 insertions(+), 207 deletions(-) delete mode 100644 iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift delete mode 100644 iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheableData.swift delete mode 100644 iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift delete mode 100644 iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift rename iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/{Calender.imageset => Calendar.imageset}/Calender.pdf (100%) rename iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/{Calender.imageset => Calendar.imageset}/Contents.json (100%) delete mode 100644 iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Calender 1.pdf diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift deleted file mode 100644 index acc1e77..0000000 --- a/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift +++ /dev/null @@ -1,96 +0,0 @@ -// -// MSCacheStorage.swift -// MSCoreKit -// -// Created by 이창준 on 11/14/23. -// - -import Foundation - -import MSUserDefaults - -public protocol KeyValueStorage { - associatedtype Value - func data(forKey key: String, etag: String?) async -> Value? - func cleanDisk() throws -} - -public final class MSCacheStorage: KeyValueStorage { - - public typealias Key = NSString - public typealias Cache = NSCache - - // MARK: - Properties - - private let memory: Cache - private let disk: FileManager - - // MARK: - Initializer - - public init(cache: Cache = Cache(), - fileManager: FileManager = .default) { - self.memory = cache - self.disk = fileManager - } - - // MARK: - Functions - - /// 캐싱된 데이터를 불러옵니다. - public func data(forKey key: String, etag: String? = nil) async -> MSCacheableData? { - // Memory Cache - if let memoryData = memory.object(forKey: key as NSString) { // memory hit - // TODO: 서버와 데이터 검증 필요 (etag 활용) - return memoryData - } - - // Disk Cache - if let cacheURL = cacheURL(forCache: "\(key).cache"), - let diskData = disk.contents(atPath: cacheURL.path) { // disk hit - // TODO: 서버와 데이터 검증 필요 (etag 활용) - let decoder = JSONDecoder() - return try? decoder.decode(MSCacheableData.self, from: diskData) - } - - // Request - // TODO: 서버로부터 데이터 수신 및 캐싱 + return 값 변경 - return nil - } - - public func cleanDisk() throws { - if let path = cacheDirectoryURL?.path { - try disk.removeItem(atPath: path) - } - } - -} - -// MARK: - URLs - -private extension MSCacheStorage { - - var cacheDirectoryURL: URL? { - if #available(iOS 16.0, *) { - return try? disk.url(for: .cachesDirectory, - in: .userDomainMask, - appropriateFor: .cachesDirectory, - create: true) - } else { - return disk - .urls(for: .cachesDirectory, in: .userDomainMask) - .first - } - } - - func cacheURL(forCache cache: String) -> URL? { - if #available(iOS 16.0, *) { - return cacheDirectoryURL? - .appending(path: "MusicSpot", directoryHint: .isDirectory) - .appending(component: cache, directoryHint: .notDirectory) - } else { - return cacheDirectoryURL? - .appendingPathExtension("MusicSpot") - .appendingPathComponent(cache) - } - } - -} diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheableData.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheableData.swift deleted file mode 100644 index 4bdf3c8..0000000 --- a/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheableData.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// MSCacheableData.swift -// MSCoreKit -// -// Created by 이창준 on 11/15/23. -// - -import Foundation - -public final class MSCacheableData: Codable { - - struct Metadata: Hashable, Codable { - let etag: String - let lastUsed: Date - } - - // MARK: - Properties - - let data: Data - let metadata: Metadata - - // MARK: - Initializer - - public init(data: Data, etag: String) { - self.data = data - self.metadata = Metadata(etag: etag, lastUsed: .now) - } - -} diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift index b4538ee..af47f8e 100644 --- a/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift +++ b/iOS/MSCoreKit/Sources/MSCacheStorage/MSImageCacheStorage.swift @@ -29,7 +29,7 @@ public final class MSImageCacheStorage: CacheStorage { // MARK: - Functions /// 캐싱된 데이터를 불러옵니다. - public func data(forKey key: String, etag: String? = nil) async -> NSData? { + public func data(forKey key: NSString) async -> NSData? { // Memory Cache if let memoryData = self.memory.object(forKey: key as NSString) { // memory hit return memoryData @@ -38,7 +38,7 @@ public final class MSImageCacheStorage: CacheStorage { // Disk Cache if let cacheURL = self.cacheURL(forCache: "\(key).cache"), let diskData = self.disk.contents(atPath: cacheURL.path) { // disk hit - return try? self.decoder.decode(MSCacheableData.self, from: diskData) + } return nil diff --git a/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift b/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift deleted file mode 100644 index 9218c67..0000000 --- a/iOS/MSCoreKit/Sources/MSNetworking/ImageRouter.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// ImageRouter.swift -// MSCoreKit -// -// Created by 이창준 on 2023.11.28. -// - -import Foundation - -public struct ImageRouter: Router { - - // MARK: - Properties - - public var baseURL: String - - public var pathURL: String - - public var method: HTTPMethod { - return .get - } - - public var body: HTTPBody? - - public var headers: HTTPHeaders? - - // MARK: - Initializer - - public init(baseURL: String, - pathURL: String, - body: HTTPBody? = nil, - headers: HTTPHeaders? = nil) { - self.baseURL = baseURL - self.pathURL = pathURL - self.body = body - self.headers = headers - } - -} diff --git a/iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift b/iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift deleted file mode 100644 index 62158bc..0000000 --- a/iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// MSRouter.swift -// MSCoreKit -// -// Created by 전민건 on 11/16/23. -// - -import Foundation - -public struct RouterType { - - private var encodable: Encodable? - - //기능별 MSRouter - public var getJourney: MSRouter { - MSRouter(baseURL: .none, pathURL: .none, method: .get, body: HTTPBody(content: encodable)) - } - public var getPerson: MSRouter { - MSRouter(baseURL: .none, pathURL: .none, method: .get, body: HTTPBody(content: encodable)) - } - -} - -public struct MSRouter: Router { - - let baseURL: APIbaseURL - let pathURL: APIpathURL - let method: HTTPMethod - var body: HTTPBody - - func asURLRequest() -> URLRequest? { - guard let url = URL(string: baseURL.rawValue + pathURL.rawValue) else { - return nil - } - var request = URLRequest(url: url) - request.httpMethod = method.rawValue - request.httpBody = body.contentToData() - - return request - } - -} diff --git a/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Calender.pdf b/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calendar.imageset/Calender.pdf similarity index 100% rename from iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Calender.pdf rename to iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calendar.imageset/Calender.pdf diff --git a/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Contents.json b/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calendar.imageset/Contents.json similarity index 100% rename from iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Contents.json rename to iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calendar.imageset/Contents.json diff --git a/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Calender 1.pdf b/iOS/MSUIKit/Sources/MSDesignSystem/Resources/MSIcon.xcassets/Calender.imageset/Calender 1.pdf deleted file mode 100644 index 88304860eadd0b5156d61d69bf15113f536951ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4018 zcmbtXTaOzx6n>vy;g?D+QXJdISE;H*w-g~jlr3)+4AH90t zj+=*J{bKy?lCr)#0?= z4^EqCP4dd>;DgCQJphZv$6^(JG{I9)q1mJ76VxQxdFic4h6O%cgXs z%r*$kb|^X!M6lP5&%#0q#n1)ReiV({0dzCReAq2O@xa=vU|0@1f8BG)b64T8G)wN% z1X={7(@Caa3R2~*w;6u4gxa9V1TqY@tOF{Pi;KNDU`j;7k#7UgQH(h$K#5NUCg=8B z(uT_^0z$#C46r60P4N^Js+TBbA_Xja;{q_N$r?(5u|hsZuU1Z{8c1*>^f3@K3%CPl zLrET#!VS^Igt$~ zQ^HkiV#x?G+()URDWx~i@7d#n;Zi6>#U&1ZLlECtS!Y~%>Q+3=Jc~25+y*vdvq;WNh6cqShXs%DM7nnT+9ndx~@}k+htUY zrv)AN6Uu~=U>I1i4o;R*v5cG-Ho2ilKNQXAMRy_kl(07;tmHVsuvSh^Sw`PCPQMyQs6i;3MWhuG_XIgxPFY9OfX(8FnEC!A~FkXQ4t;G zHY^Tvy+f_MPE|XiF7q_K#6BwF9a={wJqi?|;BI&r0&*J? zMnwl}slY*QYwRTKAgm2kPlKekmta9=VgcPOjYnHm(X|SM!19=z1PY44Vu)MsFcuKl z#ty6vAz0J2Twr3(1={RhNEDxe&AJ8Sm3IYl%-(+WW%CA`5c3lA{L}NM5Be201MUM< zJQ4%gMrR{BgpbK5v^EIPRS}z+L2p7p70-^NN*P2`A`>;nh@3@ZvD^SQ!rI_)5;~%S z&g9J1goZ&6Ii@6C42GU%0l3p(+XjZY(9s`QHxOkbtOSVN2Lmu5c`Z?}l@e7QQ>5BH z5p4>7`$W*D*%3~KW zwjKP23$h%mXD%mGH)dO+92hbd0aJ)vTepiW{Evl$0o``zCvSnUaU!Mp@PKk`7!n@Q z5?;lrH+;YRNy*C9Z`<2hFzHf}B#7u^zGg03Vlrm8#E@N{5z^kW>%;~@xRq)bFLtDO z!y~UsS|Cjy^L-qL+JRrzfS(cnxql39+RXyApUfSJ8=y9xB)Hrc_3K$d(cuEfGj(xK z=M^}GwM!F7v{u&ZJalFWUsoY<@1_U@d1A7FfSQwC+5(bnbULxGr-PqY?d>!_wD?Um zJ-~3eO!EFh74&!6`s@Ava6YLwzv7*SZ~enkI{pR`MZ}q0%lf-oA z=VID@Y?M_>xqt_m$4iwwyla{c}N9ZXg1 z!L6G0+#EiD*IwCw0-SL~vd9ypbyJY?QIKCZ>O2brH{8wSl;)(;f zeHg#>r1k<~-d#et#Nz?SpHPu6A2Z_8jm%wAC0zAp=zQGV@5bYRSM~b47YN7W)8S!! sq8{JhJ(+^CzC9eyiXE;2UcbKocZBuzb-g*Bt2?+O#o^JTZ+?3DAM-LHR{#J2 From b9c2450c1c64800211a0179e84e36782f8c542c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Tue, 28 Nov 2023 18:58:23 +0900 Subject: [PATCH 10/15] =?UTF-8?q?:truck:=20Workspace=EC=9D=98=20Feature?= =?UTF-8?q?=EB=93=A4=EC=9D=84=20=EA=B7=B8=EB=A3=B9=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contents.xcworkspacedata | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata index 63c9482..a4dda14 100644 --- a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata +++ b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata @@ -4,27 +4,31 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + From b068a58dea56b984a1357588f5e5326b8af687c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Wed, 29 Nov 2023 13:51:49 +0900 Subject: [PATCH 11/15] =?UTF-8?q?:package:=20Dependency=EB=A5=BC=20?= =?UTF-8?q?=ED=86=B5=ED=95=9C=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Features/{HomeMap => Home}/.gitignore | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/NavigateMap.xcscheme} | 24 +-- .../xcschemes/RecordJourney.xcscheme} | 24 +-- iOS/Features/Home/Package.swift | 38 ++++ .../Sources/NavigateMap/NavigateMap.swift | 8 + .../Sources/RecordJourney/RecordJourney.swift | 8 + iOS/Features/HomeMap/Package.swift | 18 -- .../HomeMap/Sources/HomeMap/HomeMap.swift | 2 - .../contents.xcworkspacedata | 7 - .../xcschemes/JourneyList.xcscheme} | 37 ++-- iOS/Features/JourneyList/Package.swift | 33 +-- .../Sources/JourneyList/JourneyList.swift | 10 +- iOS/Features/RecordJourney/.gitignore | 8 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - iOS/Features/RecordJourney/Package.swift | 18 -- .../Sources/RecordJourney/RecordJourney.swift | 2 - .../xcschemes/RewindJourney.xcscheme | 66 ++++++ iOS/Features/RewindJourney/Package.swift | 53 +++-- .../RewindJourneyTests.swift | 12 -- .../contents.xcworkspacedata | 7 - .../xcschemes/SaveJourney.xcscheme | 66 ++++++ iOS/Features/SaveJourney/Package.swift | 50 ++++- iOS/Features/SelectSong/Package.swift | 41 +++- .../xcshareddata/xcschemes/Spot.xcscheme} | 37 ++-- iOS/Features/Spot/Package.swift | 51 +++-- .../xcschemes/MSNetworkingTests.xcscheme | 53 ----- .../MSPersistentStorageTests.xcscheme | 53 ----- .../xcschemes/MSDataTests.xcscheme | 53 ----- .../xcschemes/MSLoggerTests.xcscheme | 53 ----- .../xcschemes/MSUserDefaultsTests.xcscheme | 53 ----- .../xcschemes/MSDesignSystem.xcscheme | 66 ++++++ .../contents.xcworkspacedata | 5 +- .../MusicSpot.xcodeproj/project.pbxproj | 202 +++++++++++++++++- 34 files changed, 687 insertions(+), 479 deletions(-) rename iOS/Features/{HomeMap => Home}/.gitignore (100%) rename iOS/Features/{HomeMap => Home}/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename iOS/{MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme => Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/NavigateMap.xcscheme} (74%) rename iOS/{MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme => Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/RecordJourney.xcscheme} (73%) create mode 100644 iOS/Features/Home/Package.swift create mode 100644 iOS/Features/Home/Sources/NavigateMap/NavigateMap.swift create mode 100644 iOS/Features/Home/Sources/RecordJourney/RecordJourney.swift delete mode 100644 iOS/Features/HomeMap/Package.swift delete mode 100644 iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift delete mode 100644 iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata rename iOS/{MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme => Features/JourneyList/.swiftpm/xcode/xcshareddata/xcschemes/JourneyList.xcscheme} (66%) delete mode 100644 iOS/Features/RecordJourney/.gitignore delete mode 100644 iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 iOS/Features/RecordJourney/Package.swift delete mode 100644 iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift create mode 100644 iOS/Features/RewindJourney/.swiftpm/xcode/xcshareddata/xcschemes/RewindJourney.xcscheme delete mode 100644 iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift delete mode 100644 iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/SaveJourney/.swiftpm/xcode/xcshareddata/xcschemes/SaveJourney.xcscheme rename iOS/{MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme => Features/Spot/.swiftpm/xcode/xcshareddata/xcschemes/Spot.xcscheme} (68%) delete mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme delete mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme delete mode 100644 iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme delete mode 100644 iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme delete mode 100644 iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme create mode 100644 iOS/MSUIKit/.swiftpm/xcode/xcshareddata/xcschemes/MSDesignSystem.xcscheme diff --git a/iOS/Features/HomeMap/.gitignore b/iOS/Features/Home/.gitignore similarity index 100% rename from iOS/Features/HomeMap/.gitignore rename to iOS/Features/Home/.gitignore diff --git a/iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/Home/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from iOS/Features/HomeMap/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to iOS/Features/Home/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme b/iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/NavigateMap.xcscheme similarity index 74% rename from iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme rename to iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/NavigateMap.xcscheme index 4fe42f0..f4a8537 100644 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme +++ b/iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/NavigateMap.xcscheme @@ -14,9 +14,9 @@ buildForAnalyzing = "YES"> @@ -28,18 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> - - - - - - diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme b/iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/RecordJourney.xcscheme similarity index 73% rename from iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme rename to iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/RecordJourney.xcscheme index 6aed764..c01b3e3 100644 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme +++ b/iOS/Features/Home/.swiftpm/xcode/xcshareddata/xcschemes/RecordJourney.xcscheme @@ -14,9 +14,9 @@ buildForAnalyzing = "YES"> @@ -28,18 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> - - - - - - diff --git a/iOS/Features/Home/Package.swift b/iOS/Features/Home/Package.swift new file mode 100644 index 0000000..237d1a7 --- /dev/null +++ b/iOS/Features/Home/Package.swift @@ -0,0 +1,38 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +// MARK: - Constants + +private extension String { + + static let package = "FeatureHome" + +} + +private enum Target { + + static let navigateMap = "NavigateMap" + static let recordJourney = "RecordJourney" + +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: Target.navigateMap, + targets: [Target.navigateMap]), + .library(name: Target.recordJourney, + targets: [Target.recordJourney]) + ], + targets: [ + .target(name: Target.navigateMap), + .target(name: Target.recordJourney) + ] +) diff --git a/iOS/Features/Home/Sources/NavigateMap/NavigateMap.swift b/iOS/Features/Home/Sources/NavigateMap/NavigateMap.swift new file mode 100644 index 0000000..57f01ed --- /dev/null +++ b/iOS/Features/Home/Sources/NavigateMap/NavigateMap.swift @@ -0,0 +1,8 @@ +// +// NavigateMap.swift +// Home +// +// Created by 이창준 on 2023.11.29. +// + +import Foundation diff --git a/iOS/Features/Home/Sources/RecordJourney/RecordJourney.swift b/iOS/Features/Home/Sources/RecordJourney/RecordJourney.swift new file mode 100644 index 0000000..17512ba --- /dev/null +++ b/iOS/Features/Home/Sources/RecordJourney/RecordJourney.swift @@ -0,0 +1,8 @@ +// +// RecordJourney.swift +// Home +// +// Created by 이창준 on 2023.11.29. +// + +import Foundation diff --git a/iOS/Features/HomeMap/Package.swift b/iOS/Features/HomeMap/Package.swift deleted file mode 100644 index 791aac9..0000000 --- a/iOS/Features/HomeMap/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "HomeMap", - platforms: [ - .iOS(.v15) - ], - products: [ - .library(name: "HomeMap", - targets: ["HomeMap"]) - ], - targets: [ - .target(name: "HomeMap") - ] -) diff --git a/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift b/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift deleted file mode 100644 index 08b22b8..0000000 --- a/iOS/Features/HomeMap/Sources/HomeMap/HomeMap.swift +++ /dev/null @@ -1,2 +0,0 @@ -// The Swift Programming Language -// https://docs.swift.org/swift-book diff --git a/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/iOS/Features/JourneyList/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme b/iOS/Features/JourneyList/.swiftpm/xcode/xcshareddata/xcschemes/JourneyList.xcscheme similarity index 66% rename from iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme rename to iOS/Features/JourneyList/.swiftpm/xcode/xcshareddata/xcschemes/JourneyList.xcscheme index f299dc2..e56683b 100644 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme +++ b/iOS/Features/JourneyList/.swiftpm/xcode/xcshareddata/xcschemes/JourneyList.xcscheme @@ -5,6 +5,22 @@ + + + + + + - - - - - - + + + + diff --git a/iOS/Features/JourneyList/Package.swift b/iOS/Features/JourneyList/Package.swift index 0920ee1..0b44822 100644 --- a/iOS/Features/JourneyList/Package.swift +++ b/iOS/Features/JourneyList/Package.swift @@ -3,25 +3,32 @@ import PackageDescription +// MARK: - Constants + +private extension String { + + static let package = "FeatureJourneyList" + +} + +private enum Target { + + static let journeyList = "JourneyList" + +} + +// MARK: - Package + let package = Package( - name: "JourneyList", + name: .package, platforms: [ .iOS(.v15) ], products: [ - .library(name: "JourneyList", - targets: ["JourneyList"]) - ], - dependencies: [ - .package(name: "MSData", - path: "../../MSData"), - .package(name: "MSUIKit", - path: "../../MSUIKit"), - .package(name: "MSNetworking", - path: "../../MSCoreKit") + .library(name: Target.journeyList, + targets: [Target.journeyList]) ], targets: [ - .target(name: "JourneyList", - dependencies: ["MSData", "MSUIKit", "MSNetworking"]) + .target(name: Target.journeyList) ] ) diff --git a/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift b/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift index 08b22b8..fa1180d 100644 --- a/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift +++ b/iOS/Features/JourneyList/Sources/JourneyList/JourneyList.swift @@ -1,2 +1,8 @@ -// The Swift Programming Language -// https://docs.swift.org/swift-book +// +// JourneyList.swift +// JourneyList +// +// Created by 이창준 on 2023.11.29. +// + +import Foundation diff --git a/iOS/Features/RecordJourney/.gitignore b/iOS/Features/RecordJourney/.gitignore deleted file mode 100644 index 0023a53..0000000 --- a/iOS/Features/RecordJourney/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -.DS_Store -/.build -/Packages -xcuserdata/ -DerivedData/ -.swiftpm/configuration/registries.json -.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata -.netrc diff --git a/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/iOS/Features/RecordJourney/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/iOS/Features/RecordJourney/Package.swift b/iOS/Features/RecordJourney/Package.swift deleted file mode 100644 index ab62c81..0000000 --- a/iOS/Features/RecordJourney/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "RecordJourney", - platforms: [ - .iOS(.v15) - ], - products: [ - .library(name: "RecordJourney", - targets: ["RecordJourney"]) - ], - targets: [ - .target(name: "RecordJourney") - ] -) diff --git a/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift b/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift deleted file mode 100644 index 08b22b8..0000000 --- a/iOS/Features/RecordJourney/Sources/RecordJourney/RecordJourney.swift +++ /dev/null @@ -1,2 +0,0 @@ -// The Swift Programming Language -// https://docs.swift.org/swift-book diff --git a/iOS/Features/RewindJourney/.swiftpm/xcode/xcshareddata/xcschemes/RewindJourney.xcscheme b/iOS/Features/RewindJourney/.swiftpm/xcode/xcshareddata/xcschemes/RewindJourney.xcscheme new file mode 100644 index 0000000..b502766 --- /dev/null +++ b/iOS/Features/RewindJourney/.swiftpm/xcode/xcshareddata/xcschemes/RewindJourney.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/RewindJourney/Package.swift b/iOS/Features/RewindJourney/Package.swift index fbd5d5c..6fb271e 100644 --- a/iOS/Features/RewindJourney/Package.swift +++ b/iOS/Features/RewindJourney/Package.swift @@ -5,25 +5,32 @@ import PackageDescription // MARK: - Constants -extension String { - static let package = "RewindJourney" - static let rewindJourney = "RewindJourney" - static let msUIKit = "MSUIKit" - static let msFoundation = "MSFoundation" - static let msDesignsystem = "MSDesignSystem" - static let msLogger = "MSLogger" +private extension String { + + static let package = "FeatureRewindJourney" var testTarget: String { return self + "Tests" } - var path: String { + var fromRootPath: String { return "../../" + self } - var featurePath: String { - return "../Features/" + self - } +} + +private enum Target { + + static let rewindJourney = "RewindJourney" + +} + +private enum Dependency { + + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" } @@ -35,22 +42,24 @@ let package = Package( .iOS(.v15) ], products: [ - .library(name: .rewindJourney, - targets: [.rewindJourney]) + .library(name: Target.rewindJourney, + targets: [Target.rewindJourney]) ], dependencies: [ - .package(path: .msUIKit.path), - .package(path: .msFoundation.path) + .package(name: Dependency.msUIKit, + path: Dependency.msUIKit.fromRootPath), + .package(name: Dependency.msFoundation, + path: Dependency.msFoundation.fromRootPath) ], targets: [ - // Codes - .target(name: .rewindJourney, + .target(name: Target.rewindJourney, dependencies: [ - .product(name: .msUIKit, package: .msUIKit), - .product(name: .msDesignsystem, package: .msUIKit), - .product(name: .msLogger, package: .msFoundation) + .product(name: Dependency.msUIKit, + package: Dependency.msUIKit), + .product(name: Dependency.msDesignsystem, + package: Dependency.msUIKit), + .product(name: Dependency.msLogger, + package: Dependency.msFoundation) ]) - - // Tests ] ) diff --git a/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift b/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift deleted file mode 100644 index b8c4d4a..0000000 --- a/iOS/Features/RewindJourney/Tests/RewindJourneyTests/RewindJourneyTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import XCTest -@testable import RewindJourney - -final class RewindJourneyTests: XCTestCase { - func testExample() throws { - // XCTest Documentation - // https://developer.apple.com/documentation/xctest - - // Defining Test Cases and Test Methods - // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods - } -} diff --git a/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/iOS/Features/SaveJourney/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/iOS/Features/SaveJourney/.swiftpm/xcode/xcshareddata/xcschemes/SaveJourney.xcscheme b/iOS/Features/SaveJourney/.swiftpm/xcode/xcshareddata/xcschemes/SaveJourney.xcscheme new file mode 100644 index 0000000..3b465cc --- /dev/null +++ b/iOS/Features/SaveJourney/.swiftpm/xcode/xcshareddata/xcschemes/SaveJourney.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/SaveJourney/Package.swift b/iOS/Features/SaveJourney/Package.swift index 490cd31..f9dec09 100644 --- a/iOS/Features/SaveJourney/Package.swift +++ b/iOS/Features/SaveJourney/Package.swift @@ -3,21 +3,57 @@ import PackageDescription +// MARK: - Constants + +private extension String { + + static let package = "FeatureSaveJourney" + + var testTarget: String { + return self + "Tests" + } + + var fromRootPath: String { + return "../../" + self + } + +} + +private enum Target { + + static let saveJourney = "SaveJourney" + +} + +private enum Dependency { + + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" + +} + +// MARK: - Package + let package = Package( - name: "SaveJourney", + name: .package, platforms: [ .iOS(.v15) ], products: [ - .library(name: "SaveJourney", - targets: ["SaveJourney"]) + .library(name: Target.saveJourney, + targets: [Target.saveJourney]) ], dependencies: [ - .package(name: "MSUIKit", - path: "../../MSUIKit") + .package(name: Dependency.msUIKit, + path: Dependency.msUIKit.fromRootPath) ], targets: [ - .target(name: "SaveJourney", - dependencies: ["MSUIKit"]) + .target(name: Target.saveJourney, + dependencies: [ + .product(name: Dependency.msUIKit, + package: Dependency.msUIKit) + ]) ] ) diff --git a/iOS/Features/SelectSong/Package.swift b/iOS/Features/SelectSong/Package.swift index b78d896..910e61f 100644 --- a/iOS/Features/SelectSong/Package.swift +++ b/iOS/Features/SelectSong/Package.swift @@ -3,16 +3,49 @@ import PackageDescription +// MARK: - Constants + +private extension String { + + static let package = "FeatureSelectSong" + + var testTarget: String { + return self + "Tests" + } + + var fromRootPath: String { + return "../../" + self + } + +} + +private enum Target { + + static let selectSong = "SelectSong" + +} + +private enum Dependency { + + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" + +} + +// MARK: - Package + let package = Package( - name: "SelectSong", + name: .package, platforms: [ .iOS(.v15) ], products: [ - .library(name: "SelectSong", - targets: ["SelectSong"]) + .library(name: Target.selectSong, + targets: [Target.selectSong]) ], targets: [ - .target(name: "SelectSong") + .target(name:Target.selectSong) ] ) diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme b/iOS/Features/Spot/.swiftpm/xcode/xcshareddata/xcschemes/Spot.xcscheme similarity index 68% rename from iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme rename to iOS/Features/Spot/.swiftpm/xcode/xcshareddata/xcschemes/Spot.xcscheme index 326b091..bfdca86 100644 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme +++ b/iOS/Features/Spot/.swiftpm/xcode/xcshareddata/xcschemes/Spot.xcscheme @@ -5,6 +5,22 @@ + + + + + + - - - - - - + + + + diff --git a/iOS/Features/Spot/Package.swift b/iOS/Features/Spot/Package.swift index 68e4d11..0bc07b7 100644 --- a/iOS/Features/Spot/Package.swift +++ b/iOS/Features/Spot/Package.swift @@ -5,24 +5,35 @@ import PackageDescription // MARK: - Constants -extension String { - static let package = "Spot" - static let spot = "Spot" - static let msUIKit = "MSUIKit" - static let msFoundation = "MSFoundation" - static let msDesignsystem = "MSDesignSystem" - static let msLogger = "MSLogger" +private extension String { + + static let package = "FeatureSpot" var testTarget: String { return self + "Tests" } - var path: String { + var fromRootPath: String { return "../../" + self } } +private enum Target { + + static let spot = "Spot" + +} + +private enum Dependency { + + static let msUIKit = "MSUIKit" + static let msFoundation = "MSFoundation" + static let msDesignsystem = "MSDesignSystem" + static let msLogger = "MSLogger" + +} + // MARK: - Package let package = Package( @@ -31,22 +42,24 @@ let package = Package( .iOS(.v15) ], products: [ - .library(name: .spot, - targets: [.spot]) + .library(name: Target.spot, + targets: [Target.spot]) ], dependencies: [ - .package(path: .msUIKit.path), - .package(path: .msFoundation.path) + .package(name: Dependency.msUIKit, + path: Dependency.msUIKit.fromRootPath), + .package(name: Dependency.msFoundation, + path: Dependency.msFoundation.fromRootPath) ], targets: [ - // Codes - .target(name: .spot, + .target(name: Target.spot, dependencies: [ - .product(name: .msUIKit, package: .msUIKit), - .product(name: .msDesignsystem, package: .msUIKit), - .product(name: .msLogger, package: .msFoundation) + .product(name: Dependency.msUIKit, + package: Dependency.msUIKit), + .product(name: Dependency.msDesignsystem, + package: Dependency.msUIKit), + .product(name: Dependency.msLogger, + package: Dependency.msFoundation) ]) - - // Tests ] ) diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme deleted file mode 100644 index 5e9ef94..0000000 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme deleted file mode 100644 index e9cfe80..0000000 --- a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme deleted file mode 100644 index c0fb639..0000000 --- a/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme deleted file mode 100644 index 652c200..0000000 --- a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme deleted file mode 100644 index 5d159c4..0000000 --- a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/MSUIKit/.swiftpm/xcode/xcshareddata/xcschemes/MSDesignSystem.xcscheme b/iOS/MSUIKit/.swiftpm/xcode/xcshareddata/xcschemes/MSDesignSystem.xcscheme new file mode 100644 index 0000000..e15b2aa --- /dev/null +++ b/iOS/MSUIKit/.swiftpm/xcode/xcshareddata/xcschemes/MSDesignSystem.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata index a4dda14..17b1b2b 100644 --- a/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata +++ b/iOS/MusicSpot.xcworkspace/contents.xcworkspacedata @@ -8,10 +8,7 @@ location = "container:" name = "Features"> - - + location = "group:Features/Home"> diff --git a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj index 7c15359..e0bb55b 100644 --- a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj +++ b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj @@ -3,10 +3,27 @@ archiveVersion = 1; classes = { }; - objectVersion = 56; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ + DD5EA2412B16EC690080AEC1 /* FoundationExt in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2402B16EC690080AEC1 /* FoundationExt */; }; + DD5EA2432B16EC6C0080AEC1 /* MSLogger in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2422B16EC6C0080AEC1 /* MSLogger */; }; + DD5EA2452B16EC720080AEC1 /* MSUserDefaults in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2442B16EC720080AEC1 /* MSUserDefaults */; }; + DD5EA2472B16EC740080AEC1 /* MSCacheStorage in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2462B16EC740080AEC1 /* MSCacheStorage */; }; + DD5EA2492B16EC760080AEC1 /* MSFetcher in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2482B16EC760080AEC1 /* MSFetcher */; }; + DD5EA24B2B16EC790080AEC1 /* MSNetworking in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24A2B16EC790080AEC1 /* MSNetworking */; }; + DD5EA24D2B16EC7B0080AEC1 /* MSPersistentStorage in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */; }; + DD5EA24F2B16EC830080AEC1 /* MSDesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */; }; + DD5EA2512B16EC860080AEC1 /* MSUIKit in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2502B16EC860080AEC1 /* MSUIKit */; }; + DD5EA2532B16EC890080AEC1 /* MSData in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2522B16EC890080AEC1 /* MSData */; }; + DD5EA2552B16EC920080AEC1 /* JourneyList in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2542B16EC920080AEC1 /* JourneyList */; }; + DD5EA2572B16EC960080AEC1 /* NavigateMap in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2562B16EC960080AEC1 /* NavigateMap */; }; + DD5EA2592B16EC9B0080AEC1 /* RecordJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2582B16EC9B0080AEC1 /* RecordJourney */; }; + DD5EA25B2B16ECA10080AEC1 /* SaveJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA25A2B16ECA10080AEC1 /* SaveJourney */; }; + DD5EA25D2B16ECA60080AEC1 /* SelectSong in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA25C2B16ECA60080AEC1 /* SelectSong */; }; + DD5EA25F2B16ECAB0080AEC1 /* Spot in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA25E2B16ECAB0080AEC1 /* Spot */; }; + DD5EA2612B16ECAF0080AEC1 /* RewindJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2602B16ECAF0080AEC1 /* RewindJourney */; }; DD73F8592B024C4900EE9BF2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD73F8582B024C4900EE9BF2 /* AppDelegate.swift */; }; DD73F85B2B024C4900EE9BF2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD73F85A2B024C4900EE9BF2 /* SceneDelegate.swift */; }; DD73F8622B024C4B00EE9BF2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DD73F8612B024C4B00EE9BF2 /* Assets.xcassets */; }; @@ -28,17 +45,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DD5EA2572B16EC960080AEC1 /* NavigateMap in Frameworks */, + DD5EA2532B16EC890080AEC1 /* MSData in Frameworks */, + DD5EA25D2B16ECA60080AEC1 /* SelectSong in Frameworks */, + DD5EA2552B16EC920080AEC1 /* JourneyList in Frameworks */, + DD5EA2612B16ECAF0080AEC1 /* RewindJourney in Frameworks */, + DD5EA2432B16EC6C0080AEC1 /* MSLogger in Frameworks */, + DD5EA2452B16EC720080AEC1 /* MSUserDefaults in Frameworks */, + DD5EA24B2B16EC790080AEC1 /* MSNetworking in Frameworks */, + DD5EA25B2B16ECA10080AEC1 /* SaveJourney in Frameworks */, + DD5EA2412B16EC690080AEC1 /* FoundationExt in Frameworks */, + DD5EA2472B16EC740080AEC1 /* MSCacheStorage in Frameworks */, + DD5EA25F2B16ECAB0080AEC1 /* Spot in Frameworks */, + DD5EA24F2B16EC830080AEC1 /* MSDesignSystem in Frameworks */, + DD5EA2592B16EC9B0080AEC1 /* RecordJourney in Frameworks */, + DD5EA2512B16EC860080AEC1 /* MSUIKit in Frameworks */, + DD5EA24D2B16EC7B0080AEC1 /* MSPersistentStorage in Frameworks */, + DD5EA2492B16EC760080AEC1 /* MSFetcher in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + DD5EA23F2B16EC690080AEC1 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; DD73F84C2B024C4900EE9BF2 = { isa = PBXGroup; children = ( DD73F8572B024C4900EE9BF2 /* MusicSpot */, DD73F8562B024C4900EE9BF2 /* Products */, + DD5EA23F2B16EC690080AEC1 /* Frameworks */, ); sourceTree = ""; }; @@ -79,6 +121,23 @@ ); name = MusicSpot; packageProductDependencies = ( + DD5EA2402B16EC690080AEC1 /* FoundationExt */, + DD5EA2422B16EC6C0080AEC1 /* MSLogger */, + DD5EA2442B16EC720080AEC1 /* MSUserDefaults */, + DD5EA2462B16EC740080AEC1 /* MSCacheStorage */, + DD5EA2482B16EC760080AEC1 /* MSFetcher */, + DD5EA24A2B16EC790080AEC1 /* MSNetworking */, + DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */, + DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */, + DD5EA2502B16EC860080AEC1 /* MSUIKit */, + DD5EA2522B16EC890080AEC1 /* MSData */, + DD5EA2542B16EC920080AEC1 /* JourneyList */, + DD5EA2562B16EC960080AEC1 /* NavigateMap */, + DD5EA2582B16EC9B0080AEC1 /* RecordJourney */, + DD5EA25A2B16ECA10080AEC1 /* SaveJourney */, + DD5EA25C2B16ECA60080AEC1 /* SelectSong */, + DD5EA25E2B16ECAB0080AEC1 /* Spot */, + DD5EA2602B16ECAF0080AEC1 /* RewindJourney */, ); productName = MusicSpot; productReference = DD73F8552B024C4900EE9BF2 /* MusicSpot.app */; @@ -109,6 +168,16 @@ ); mainGroup = DD73F84C2B024C4900EE9BF2; packageReferences = ( + DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */, + DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */, + DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */, + DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */, + DD734C432B16EAFC00944E71 /* XCLocalSwiftPackageReference "../Features/JourneyList" */, + DD734C462B16EB0700944E71 /* XCLocalSwiftPackageReference "../Features/Home" */, + DD734C4E2B16EB2D00944E71 /* XCLocalSwiftPackageReference "../Features/SaveJourney" */, + DD734C512B16EB3400944E71 /* XCLocalSwiftPackageReference "../Features/SelectSong" */, + DD734C572B16EB5500944E71 /* XCLocalSwiftPackageReference "../Features/Spot" */, + DD734C5A2B16EBB800944E71 /* XCLocalSwiftPackageReference "../Features/RewindJourney" */, ); productRefGroup = DD73F8562B024C4900EE9BF2 /* Products */; projectDirPath = ""; @@ -365,6 +434,137 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DD734C432B16EAFC00944E71 /* XCLocalSwiftPackageReference "../Features/JourneyList" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/JourneyList; + }; + DD734C462B16EB0700944E71 /* XCLocalSwiftPackageReference "../Features/Home" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/Home; + }; + DD734C4E2B16EB2D00944E71 /* XCLocalSwiftPackageReference "../Features/SaveJourney" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/SaveJourney; + }; + DD734C512B16EB3400944E71 /* XCLocalSwiftPackageReference "../Features/SelectSong" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/SelectSong; + }; + DD734C572B16EB5500944E71 /* XCLocalSwiftPackageReference "../Features/Spot" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/Spot; + }; + DD734C5A2B16EBB800944E71 /* XCLocalSwiftPackageReference "../Features/RewindJourney" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../Features/RewindJourney; + }; + DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../MSFoundation; + }; + DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../MSCoreKit; + }; + DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../MSUIKit; + }; + DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../MSData; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DD5EA2402B16EC690080AEC1 /* FoundationExt */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; + productName = FoundationExt; + }; + DD5EA2422B16EC6C0080AEC1 /* MSLogger */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; + productName = MSLogger; + }; + DD5EA2442B16EC720080AEC1 /* MSUserDefaults */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; + productName = MSUserDefaults; + }; + DD5EA2462B16EC740080AEC1 /* MSCacheStorage */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; + productName = MSCacheStorage; + }; + DD5EA2482B16EC760080AEC1 /* MSFetcher */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; + productName = MSFetcher; + }; + DD5EA24A2B16EC790080AEC1 /* MSNetworking */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; + productName = MSNetworking; + }; + DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; + productName = MSPersistentStorage; + }; + DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */; + productName = MSDesignSystem; + }; + DD5EA2502B16EC860080AEC1 /* MSUIKit */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */; + productName = MSUIKit; + }; + DD5EA2522B16EC890080AEC1 /* MSData */ = { + isa = XCSwiftPackageProductDependency; + package = DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */; + productName = MSData; + }; + DD5EA2542B16EC920080AEC1 /* JourneyList */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C432B16EAFC00944E71 /* XCLocalSwiftPackageReference "../Features/JourneyList" */; + productName = JourneyList; + }; + DD5EA2562B16EC960080AEC1 /* NavigateMap */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C462B16EB0700944E71 /* XCLocalSwiftPackageReference "../Features/Home" */; + productName = NavigateMap; + }; + DD5EA2582B16EC9B0080AEC1 /* RecordJourney */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C462B16EB0700944E71 /* XCLocalSwiftPackageReference "../Features/Home" */; + productName = RecordJourney; + }; + DD5EA25A2B16ECA10080AEC1 /* SaveJourney */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C4E2B16EB2D00944E71 /* XCLocalSwiftPackageReference "../Features/SaveJourney" */; + productName = SaveJourney; + }; + DD5EA25C2B16ECA60080AEC1 /* SelectSong */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C512B16EB3400944E71 /* XCLocalSwiftPackageReference "../Features/SelectSong" */; + productName = SelectSong; + }; + DD5EA25E2B16ECAB0080AEC1 /* Spot */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C572B16EB5500944E71 /* XCLocalSwiftPackageReference "../Features/Spot" */; + productName = Spot; + }; + DD5EA2602B16ECAF0080AEC1 /* RewindJourney */ = { + isa = XCSwiftPackageProductDependency; + package = DD734C5A2B16EBB800944E71 /* XCLocalSwiftPackageReference "../Features/RewindJourney" */; + productName = RewindJourney; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = DD73F84D2B024C4900EE9BF2 /* Project object */; } From 7088ba502f5e8c196509973fd2662579e4f9b197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Wed, 29 Nov 2023 14:06:25 +0900 Subject: [PATCH 12/15] =?UTF-8?q?:package:=20Workspace=EC=97=90=20Test=20?= =?UTF-8?q?=ED=83=80=EA=B2=9F=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Xcode_build_test.yml | 2 +- .../xcschemes/MSCacheStorageTests.xcscheme | 53 +++++++++++++ .../xcshareddata/xcschemes/MSFetcher.xcscheme | 78 +++++++++++++++++++ .../xcschemes/MSFetcherTests.xcscheme | 53 +++++++++++++ .../xcschemes/MSNetworking.xcscheme | 78 +++++++++++++++++++ .../xcschemes/MSNetworkingTests.xcscheme | 53 +++++++++++++ .../MSPersistentStorageTests.xcscheme | 53 +++++++++++++ .../xcschemes/MSDataTests.xcscheme | 53 +++++++++++++ .../xcschemes/MSLoggerTests.xcscheme | 53 +++++++++++++ .../xcschemes/MSUserDefaultsTests.xcscheme | 53 +++++++++++++ 10 files changed, 528 insertions(+), 1 deletion(-) create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme create mode 100644 iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme create mode 100644 iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme create mode 100644 iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme create mode 100644 iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme diff --git a/.github/workflows/Xcode_build_test.yml b/.github/workflows/Xcode_build_test.yml index 116eb3d..6637b80 100644 --- a/.github/workflows/Xcode_build_test.yml +++ b/.github/workflows/Xcode_build_test.yml @@ -121,4 +121,4 @@ jobs: -scheme ${{ matrix.scheme }} \ -sdk 'iphonesimulator' \ -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ - test + test-without-building diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme new file mode 100644 index 0000000..326b091 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSCacheStorageTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme new file mode 100644 index 0000000..4fe42f0 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcher.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme new file mode 100644 index 0000000..f299dc2 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSFetcherTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme new file mode 100644 index 0000000..6aed764 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworking.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme new file mode 100644 index 0000000..5e9ef94 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSNetworkingTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme new file mode 100644 index 0000000..e9cfe80 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/xcshareddata/xcschemes/MSPersistentStorageTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme new file mode 100644 index 0000000..c0fb639 --- /dev/null +++ b/iOS/MSData/.swiftpm/xcode/xcshareddata/xcschemes/MSDataTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme new file mode 100644 index 0000000..652c200 --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLoggerTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme new file mode 100644 index 0000000..5d159c4 --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSUserDefaultsTests.xcscheme @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + From 37fad587e44a8ca70c0c7255673766baf5da4a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Wed, 29 Nov 2023 14:10:51 +0900 Subject: [PATCH 13/15] =?UTF-8?q?:package:=20=EC=95=B1=20=ED=83=80?= =?UTF-8?q?=EA=B2=9F=EC=97=90=EC=84=9C=20Core,=20Foundation,=20UIKit=20?= =?UTF-8?q?=ED=8C=A8=ED=82=A4=EC=A7=80=20Dependency=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MusicSpot.xcodeproj/project.pbxproj | 100 ------------------ iOS/MusicSpot/MusicSpot/SceneDelegate.swift | 5 + 2 files changed, 5 insertions(+), 100 deletions(-) diff --git a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj index e0bb55b..650685c 100644 --- a/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj +++ b/iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj @@ -7,16 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - DD5EA2412B16EC690080AEC1 /* FoundationExt in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2402B16EC690080AEC1 /* FoundationExt */; }; - DD5EA2432B16EC6C0080AEC1 /* MSLogger in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2422B16EC6C0080AEC1 /* MSLogger */; }; - DD5EA2452B16EC720080AEC1 /* MSUserDefaults in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2442B16EC720080AEC1 /* MSUserDefaults */; }; - DD5EA2472B16EC740080AEC1 /* MSCacheStorage in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2462B16EC740080AEC1 /* MSCacheStorage */; }; - DD5EA2492B16EC760080AEC1 /* MSFetcher in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2482B16EC760080AEC1 /* MSFetcher */; }; - DD5EA24B2B16EC790080AEC1 /* MSNetworking in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24A2B16EC790080AEC1 /* MSNetworking */; }; - DD5EA24D2B16EC7B0080AEC1 /* MSPersistentStorage in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */; }; - DD5EA24F2B16EC830080AEC1 /* MSDesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */; }; - DD5EA2512B16EC860080AEC1 /* MSUIKit in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2502B16EC860080AEC1 /* MSUIKit */; }; - DD5EA2532B16EC890080AEC1 /* MSData in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2522B16EC890080AEC1 /* MSData */; }; DD5EA2552B16EC920080AEC1 /* JourneyList in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2542B16EC920080AEC1 /* JourneyList */; }; DD5EA2572B16EC960080AEC1 /* NavigateMap in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2562B16EC960080AEC1 /* NavigateMap */; }; DD5EA2592B16EC9B0080AEC1 /* RecordJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DD5EA2582B16EC9B0080AEC1 /* RecordJourney */; }; @@ -46,22 +36,12 @@ buildActionMask = 2147483647; files = ( DD5EA2572B16EC960080AEC1 /* NavigateMap in Frameworks */, - DD5EA2532B16EC890080AEC1 /* MSData in Frameworks */, DD5EA25D2B16ECA60080AEC1 /* SelectSong in Frameworks */, DD5EA2552B16EC920080AEC1 /* JourneyList in Frameworks */, DD5EA2612B16ECAF0080AEC1 /* RewindJourney in Frameworks */, - DD5EA2432B16EC6C0080AEC1 /* MSLogger in Frameworks */, - DD5EA2452B16EC720080AEC1 /* MSUserDefaults in Frameworks */, - DD5EA24B2B16EC790080AEC1 /* MSNetworking in Frameworks */, DD5EA25B2B16ECA10080AEC1 /* SaveJourney in Frameworks */, - DD5EA2412B16EC690080AEC1 /* FoundationExt in Frameworks */, - DD5EA2472B16EC740080AEC1 /* MSCacheStorage in Frameworks */, DD5EA25F2B16ECAB0080AEC1 /* Spot in Frameworks */, - DD5EA24F2B16EC830080AEC1 /* MSDesignSystem in Frameworks */, DD5EA2592B16EC9B0080AEC1 /* RecordJourney in Frameworks */, - DD5EA2512B16EC860080AEC1 /* MSUIKit in Frameworks */, - DD5EA24D2B16EC7B0080AEC1 /* MSPersistentStorage in Frameworks */, - DD5EA2492B16EC760080AEC1 /* MSFetcher in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -121,16 +101,6 @@ ); name = MusicSpot; packageProductDependencies = ( - DD5EA2402B16EC690080AEC1 /* FoundationExt */, - DD5EA2422B16EC6C0080AEC1 /* MSLogger */, - DD5EA2442B16EC720080AEC1 /* MSUserDefaults */, - DD5EA2462B16EC740080AEC1 /* MSCacheStorage */, - DD5EA2482B16EC760080AEC1 /* MSFetcher */, - DD5EA24A2B16EC790080AEC1 /* MSNetworking */, - DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */, - DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */, - DD5EA2502B16EC860080AEC1 /* MSUIKit */, - DD5EA2522B16EC890080AEC1 /* MSData */, DD5EA2542B16EC920080AEC1 /* JourneyList */, DD5EA2562B16EC960080AEC1 /* NavigateMap */, DD5EA2582B16EC9B0080AEC1 /* RecordJourney */, @@ -168,10 +138,6 @@ ); mainGroup = DD73F84C2B024C4900EE9BF2; packageReferences = ( - DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */, - DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */, - DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */, - DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */, DD734C432B16EAFC00944E71 /* XCLocalSwiftPackageReference "../Features/JourneyList" */, DD734C462B16EB0700944E71 /* XCLocalSwiftPackageReference "../Features/Home" */, DD734C4E2B16EB2D00944E71 /* XCLocalSwiftPackageReference "../Features/SaveJourney" */, @@ -460,75 +426,9 @@ isa = XCLocalSwiftPackageReference; relativePath = ../Features/RewindJourney; }; - DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSFoundation; - }; - DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSCoreKit; - }; - DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSUIKit; - }; - DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = ../MSData; - }; /* End XCLocalSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - DD5EA2402B16EC690080AEC1 /* FoundationExt */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; - productName = FoundationExt; - }; - DD5EA2422B16EC6C0080AEC1 /* MSLogger */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; - productName = MSLogger; - }; - DD5EA2442B16EC720080AEC1 /* MSUserDefaults */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A122B16C74300E6D1E8 /* XCLocalSwiftPackageReference "../MSFoundation" */; - productName = MSUserDefaults; - }; - DD5EA2462B16EC740080AEC1 /* MSCacheStorage */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; - productName = MSCacheStorage; - }; - DD5EA2482B16EC760080AEC1 /* MSFetcher */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; - productName = MSFetcher; - }; - DD5EA24A2B16EC790080AEC1 /* MSNetworking */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; - productName = MSNetworking; - }; - DD5EA24C2B16EC7B0080AEC1 /* MSPersistentStorage */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A192B16C75E00E6D1E8 /* XCLocalSwiftPackageReference "../MSCoreKit" */; - productName = MSPersistentStorage; - }; - DD5EA24E2B16EC830080AEC1 /* MSDesignSystem */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */; - productName = MSDesignSystem; - }; - DD5EA2502B16EC860080AEC1 /* MSUIKit */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A222B16C77000E6D1E8 /* XCLocalSwiftPackageReference "../MSUIKit" */; - productName = MSUIKit; - }; - DD5EA2522B16EC890080AEC1 /* MSData */ = { - isa = XCSwiftPackageProductDependency; - package = DDB21A272B16C7AC00E6D1E8 /* XCLocalSwiftPackageReference "../MSData" */; - productName = MSData; - }; DD5EA2542B16EC920080AEC1 /* JourneyList */ = { isa = XCSwiftPackageProductDependency; package = DD734C432B16EAFC00944E71 /* XCLocalSwiftPackageReference "../Features/JourneyList" */; diff --git a/iOS/MusicSpot/MusicSpot/SceneDelegate.swift b/iOS/MusicSpot/MusicSpot/SceneDelegate.swift index b01638c..0f347bb 100644 --- a/iOS/MusicSpot/MusicSpot/SceneDelegate.swift +++ b/iOS/MusicSpot/MusicSpot/SceneDelegate.swift @@ -9,7 +9,11 @@ import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate { + // MARK: - Properties + var window: UIWindow? + + // MARK: - Functions func scene(_ scene: UIScene, willConnectTo _: UISceneSession, @@ -22,4 +26,5 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { window.rootViewController = testViewController window.makeKeyAndVisible() } + } From 08ea4ee39482028e380d97862bcd228e234905ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Wed, 29 Nov 2023 14:23:21 +0900 Subject: [PATCH 14/15] =?UTF-8?q?:construction=5Fworker:=20test=20without?= =?UTF-8?q?=20build=20=E2=9E=A1=EF=B8=8F=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Xcode_build_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Xcode_build_test.yml b/.github/workflows/Xcode_build_test.yml index 6637b80..116eb3d 100644 --- a/.github/workflows/Xcode_build_test.yml +++ b/.github/workflows/Xcode_build_test.yml @@ -121,4 +121,4 @@ jobs: -scheme ${{ matrix.scheme }} \ -sdk 'iphonesimulator' \ -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ - test-without-building + test From 5b28fd4ed226aa9b670cb3ddb51e5ac6a869e9f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Wed, 29 Nov 2023 18:04:06 +0900 Subject: [PATCH 15/15] =?UTF-8?q?:truck:=20=EA=B0=81=20Feature=EC=97=90=20?= =?UTF-8?q?Demo=20=EC=95=B1=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HomeDemo.xcodeproj/project.pbxproj | 403 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../Home/HomeDemo/HomeDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../HomeDemo/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../HomeDemo/Base.lproj/Main.storyboard | 24 ++ .../Home/HomeDemo/HomeDemo/Info.plist | 25 ++ .../HomeDemo/HomeDemo/SceneDelegate.swift | 52 +++ .../HomeDemo/HomeDemo/ViewController.swift | 19 + .../JourneyListDemo.xcodeproj/project.pbxproj | 396 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../JourneyListDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../Base.lproj/Main.storyboard | 24 ++ .../JourneyListDemo/Info.plist | 25 ++ .../JourneyListDemo/SceneDelegate.swift | 52 +++ .../JourneyListDemo/ViewController.swift | 19 + .../project.pbxproj | 396 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../RewindJourneyDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../Base.lproj/Main.storyboard | 24 ++ .../RewindJourneyDemo/Info.plist | 25 ++ .../RewindJourneyDemo/SceneDelegate.swift | 52 +++ .../RewindJourneyDemo/ViewController.swift | 19 + .../SaveJourneyDemo.xcodeproj/project.pbxproj | 396 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../SaveJourneyDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../Base.lproj/Main.storyboard | 24 ++ .../SaveJourneyDemo/Info.plist | 25 ++ .../SaveJourneyDemo/SceneDelegate.swift | 52 +++ .../SaveJourneyDemo/ViewController.swift | 19 + .../SelectSongDemo.xcodeproj/project.pbxproj | 396 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../SelectSongDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../SelectSongDemo/Base.lproj/Main.storyboard | 24 ++ .../SelectSongDemo/SelectSongDemo/Info.plist | 25 ++ .../SelectSongDemo/SceneDelegate.swift | 52 +++ .../SelectSongDemo/ViewController.swift | 19 + .../SpotDemo.xcodeproj/project.pbxproj | 396 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../Spot/SpotDemo/SpotDemo/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../SpotDemo/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../SpotDemo/Base.lproj/Main.storyboard | 24 ++ .../Spot/SpotDemo/SpotDemo/Info.plist | 25 ++ .../SpotDemo/SpotDemo/SceneDelegate.swift | 52 +++ .../SpotDemo/SpotDemo/ViewController.swift | 19 + 72 files changed, 3739 insertions(+) create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/AppDelegate.swift create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/Info.plist create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/SceneDelegate.swift create mode 100644 iOS/Features/Home/HomeDemo/HomeDemo/ViewController.swift create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/AppDelegate.swift create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Info.plist create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/SceneDelegate.swift create mode 100644 iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/ViewController.swift create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/AppDelegate.swift create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Info.plist create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/SceneDelegate.swift create mode 100644 iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/ViewController.swift create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/AppDelegate.swift create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Info.plist create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/SceneDelegate.swift create mode 100644 iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/ViewController.swift create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/AppDelegate.swift create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Info.plist create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/SceneDelegate.swift create mode 100644 iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/ViewController.swift create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.pbxproj create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/AppDelegate.swift create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/Contents.json create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/Main.storyboard create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/Info.plist create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/SceneDelegate.swift create mode 100644 iOS/Features/Spot/SpotDemo/SpotDemo/ViewController.swift diff --git a/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.pbxproj b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..50ce04a --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.pbxproj @@ -0,0 +1,403 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4D5E2B17349A002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D5D2B17349A002F0748 /* AppDelegate.swift */; }; + DDAA4D602B17349A002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D5F2B17349A002F0748 /* SceneDelegate.swift */; }; + DDAA4D622B17349A002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D612B17349A002F0748 /* ViewController.swift */; }; + DDAA4D652B17349A002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D632B17349A002F0748 /* Main.storyboard */; }; + DDAA4D672B17349C002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D662B17349C002F0748 /* Assets.xcassets */; }; + DDAA4D6A2B17349C002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D682B17349C002F0748 /* LaunchScreen.storyboard */; }; + DDAA4D732B1734C3002F0748 /* NavigateMap in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4D722B1734C3002F0748 /* NavigateMap */; }; + DDAA4D752B1734C3002F0748 /* RecordJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4D742B1734C3002F0748 /* RecordJourney */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4D5A2B17349A002F0748 /* HomeDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HomeDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4D5D2B17349A002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4D5F2B17349A002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4D612B17349A002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4D642B17349A002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4D662B17349C002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4D692B17349C002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4D6B2B17349C002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4D572B17349A002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D752B1734C3002F0748 /* RecordJourney in Frameworks */, + DDAA4D732B1734C3002F0748 /* NavigateMap in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4D512B17349A002F0748 = { + isa = PBXGroup; + children = ( + DDAA4D5C2B17349A002F0748 /* HomeDemo */, + DDAA4D5B2B17349A002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4D5B2B17349A002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4D5A2B17349A002F0748 /* HomeDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4D5C2B17349A002F0748 /* HomeDemo */ = { + isa = PBXGroup; + children = ( + DDAA4D5D2B17349A002F0748 /* AppDelegate.swift */, + DDAA4D5F2B17349A002F0748 /* SceneDelegate.swift */, + DDAA4D612B17349A002F0748 /* ViewController.swift */, + DDAA4D632B17349A002F0748 /* Main.storyboard */, + DDAA4D662B17349C002F0748 /* Assets.xcassets */, + DDAA4D682B17349C002F0748 /* LaunchScreen.storyboard */, + DDAA4D6B2B17349C002F0748 /* Info.plist */, + ); + path = HomeDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4D592B17349A002F0748 /* HomeDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4D6E2B17349C002F0748 /* Build configuration list for PBXNativeTarget "HomeDemo" */; + buildPhases = ( + DDAA4D562B17349A002F0748 /* Sources */, + DDAA4D572B17349A002F0748 /* Frameworks */, + DDAA4D582B17349A002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = HomeDemo; + packageProductDependencies = ( + DDAA4D722B1734C3002F0748 /* NavigateMap */, + DDAA4D742B1734C3002F0748 /* RecordJourney */, + ); + productName = HomeDemo; + productReference = DDAA4D5A2B17349A002F0748 /* HomeDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4D522B17349A002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4D592B17349A002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4D552B17349A002F0748 /* Build configuration list for PBXProject "HomeDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4D512B17349A002F0748; + packageReferences = ( + DDAA4D712B1734C3002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4D5B2B17349A002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4D592B17349A002F0748 /* HomeDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4D582B17349A002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D6A2B17349C002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4D672B17349C002F0748 /* Assets.xcassets in Resources */, + DDAA4D652B17349A002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4D562B17349A002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D622B17349A002F0748 /* ViewController.swift in Sources */, + DDAA4D5E2B17349A002F0748 /* AppDelegate.swift in Sources */, + DDAA4D602B17349A002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4D632B17349A002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4D642B17349A002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4D682B17349C002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4D692B17349C002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4D6C2B17349C002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4D6D2B17349C002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4D6F2B17349C002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = HomeDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.HomeDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4D702B17349C002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = HomeDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.HomeDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4D552B17349A002F0748 /* Build configuration list for PBXProject "HomeDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4D6C2B17349C002F0748 /* Debug */, + DDAA4D6D2B17349C002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4D6E2B17349C002F0748 /* Build configuration list for PBXNativeTarget "HomeDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4D6F2B17349C002F0748 /* Debug */, + DDAA4D702B17349C002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4D712B1734C3002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4D722B1734C3002F0748 /* NavigateMap */ = { + isa = XCSwiftPackageProductDependency; + productName = NavigateMap; + }; + DDAA4D742B1734C3002F0748 /* RecordJourney */ = { + isa = XCSwiftPackageProductDependency; + productName = RecordJourney; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4D522B17349A002F0748 /* Project object */; +} diff --git a/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/AppDelegate.swift b/iOS/Features/Home/HomeDemo/HomeDemo/AppDelegate.swift new file mode 100644 index 0000000..014d7a2 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// HomeDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/Contents.json b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/Main.storyboard b/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/Info.plist b/iOS/Features/Home/HomeDemo/HomeDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/Home/HomeDemo/HomeDemo/SceneDelegate.swift b/iOS/Features/Home/HomeDemo/HomeDemo/SceneDelegate.swift new file mode 100644 index 0000000..0144605 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// HomeDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/Home/HomeDemo/HomeDemo/ViewController.swift b/iOS/Features/Home/HomeDemo/HomeDemo/ViewController.swift new file mode 100644 index 0000000..2ee0cf6 --- /dev/null +++ b/iOS/Features/Home/HomeDemo/HomeDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// HomeDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.pbxproj b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..8c8f3ff --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.pbxproj @@ -0,0 +1,396 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4D832B1734F9002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D822B1734F9002F0748 /* AppDelegate.swift */; }; + DDAA4D852B1734F9002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D842B1734F9002F0748 /* SceneDelegate.swift */; }; + DDAA4D872B1734F9002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4D862B1734F9002F0748 /* ViewController.swift */; }; + DDAA4D8A2B1734F9002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D882B1734F9002F0748 /* Main.storyboard */; }; + DDAA4D8C2B1734FB002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D8B2B1734FB002F0748 /* Assets.xcassets */; }; + DDAA4D8F2B1734FB002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4D8D2B1734FB002F0748 /* LaunchScreen.storyboard */; }; + DDAA4D982B173512002F0748 /* JourneyList in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4D972B173512002F0748 /* JourneyList */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4D7F2B1734F9002F0748 /* JourneyListDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JourneyListDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4D822B1734F9002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4D842B1734F9002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4D862B1734F9002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4D892B1734F9002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4D8B2B1734FB002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4D8E2B1734FB002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4D902B1734FB002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4D7C2B1734F9002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D982B173512002F0748 /* JourneyList in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4D762B1734F9002F0748 = { + isa = PBXGroup; + children = ( + DDAA4D812B1734F9002F0748 /* JourneyListDemo */, + DDAA4D802B1734F9002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4D802B1734F9002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4D7F2B1734F9002F0748 /* JourneyListDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4D812B1734F9002F0748 /* JourneyListDemo */ = { + isa = PBXGroup; + children = ( + DDAA4D822B1734F9002F0748 /* AppDelegate.swift */, + DDAA4D842B1734F9002F0748 /* SceneDelegate.swift */, + DDAA4D862B1734F9002F0748 /* ViewController.swift */, + DDAA4D882B1734F9002F0748 /* Main.storyboard */, + DDAA4D8B2B1734FB002F0748 /* Assets.xcassets */, + DDAA4D8D2B1734FB002F0748 /* LaunchScreen.storyboard */, + DDAA4D902B1734FB002F0748 /* Info.plist */, + ); + path = JourneyListDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4D7E2B1734F9002F0748 /* JourneyListDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4D932B1734FB002F0748 /* Build configuration list for PBXNativeTarget "JourneyListDemo" */; + buildPhases = ( + DDAA4D7B2B1734F9002F0748 /* Sources */, + DDAA4D7C2B1734F9002F0748 /* Frameworks */, + DDAA4D7D2B1734F9002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = JourneyListDemo; + packageProductDependencies = ( + DDAA4D972B173512002F0748 /* JourneyList */, + ); + productName = JourneyListDemo; + productReference = DDAA4D7F2B1734F9002F0748 /* JourneyListDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4D772B1734F9002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4D7E2B1734F9002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4D7A2B1734F9002F0748 /* Build configuration list for PBXProject "JourneyListDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4D762B1734F9002F0748; + packageReferences = ( + DDAA4D962B173512002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4D802B1734F9002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4D7E2B1734F9002F0748 /* JourneyListDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4D7D2B1734F9002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D8F2B1734FB002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4D8C2B1734FB002F0748 /* Assets.xcassets in Resources */, + DDAA4D8A2B1734F9002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4D7B2B1734F9002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4D872B1734F9002F0748 /* ViewController.swift in Sources */, + DDAA4D832B1734F9002F0748 /* AppDelegate.swift in Sources */, + DDAA4D852B1734F9002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4D882B1734F9002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4D892B1734F9002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4D8D2B1734FB002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4D8E2B1734FB002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4D912B1734FB002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4D922B1734FB002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4D942B1734FB002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = JourneyListDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.JourneyListDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4D952B1734FB002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = JourneyListDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.JourneyListDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4D7A2B1734F9002F0748 /* Build configuration list for PBXProject "JourneyListDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4D912B1734FB002F0748 /* Debug */, + DDAA4D922B1734FB002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4D932B1734FB002F0748 /* Build configuration list for PBXNativeTarget "JourneyListDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4D942B1734FB002F0748 /* Debug */, + DDAA4D952B1734FB002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4D962B173512002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4D972B173512002F0748 /* JourneyList */ = { + isa = XCSwiftPackageProductDependency; + productName = JourneyList; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4D772B1734F9002F0748 /* Project object */; +} diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/AppDelegate.swift b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/AppDelegate.swift new file mode 100644 index 0000000..a1148cd --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// JourneyListDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/Contents.json b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/Main.storyboard b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Info.plist b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/SceneDelegate.swift b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/SceneDelegate.swift new file mode 100644 index 0000000..1a1942a --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// JourneyListDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/ViewController.swift b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/ViewController.swift new file mode 100644 index 0000000..26aa375 --- /dev/null +++ b/iOS/Features/JourneyList/JourneyListDemo/JourneyListDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// JourneyListDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.pbxproj b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..fd6b2b8 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.pbxproj @@ -0,0 +1,396 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4DA62B173530002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DA52B173530002F0748 /* AppDelegate.swift */; }; + DDAA4DA82B173530002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DA72B173530002F0748 /* SceneDelegate.swift */; }; + DDAA4DAA2B173530002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DA92B173530002F0748 /* ViewController.swift */; }; + DDAA4DAD2B173530002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DAB2B173530002F0748 /* Main.storyboard */; }; + DDAA4DAF2B173532002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DAE2B173532002F0748 /* Assets.xcassets */; }; + DDAA4DB22B173532002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DB02B173532002F0748 /* LaunchScreen.storyboard */; }; + DDAA4DBB2B173551002F0748 /* RewindJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4DBA2B173551002F0748 /* RewindJourney */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4DA22B173530002F0748 /* RewindJourneyDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RewindJourneyDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4DA52B173530002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4DA72B173530002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4DA92B173530002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4DAC2B173530002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4DAE2B173532002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4DB12B173532002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4DB32B173532002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4D9F2B173530002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DBB2B173551002F0748 /* RewindJourney in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4D992B173530002F0748 = { + isa = PBXGroup; + children = ( + DDAA4DA42B173530002F0748 /* RewindJourneyDemo */, + DDAA4DA32B173530002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4DA32B173530002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4DA22B173530002F0748 /* RewindJourneyDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4DA42B173530002F0748 /* RewindJourneyDemo */ = { + isa = PBXGroup; + children = ( + DDAA4DA52B173530002F0748 /* AppDelegate.swift */, + DDAA4DA72B173530002F0748 /* SceneDelegate.swift */, + DDAA4DA92B173530002F0748 /* ViewController.swift */, + DDAA4DAB2B173530002F0748 /* Main.storyboard */, + DDAA4DAE2B173532002F0748 /* Assets.xcassets */, + DDAA4DB02B173532002F0748 /* LaunchScreen.storyboard */, + DDAA4DB32B173532002F0748 /* Info.plist */, + ); + path = RewindJourneyDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4DA12B173530002F0748 /* RewindJourneyDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4DB62B173532002F0748 /* Build configuration list for PBXNativeTarget "RewindJourneyDemo" */; + buildPhases = ( + DDAA4D9E2B173530002F0748 /* Sources */, + DDAA4D9F2B173530002F0748 /* Frameworks */, + DDAA4DA02B173530002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RewindJourneyDemo; + packageProductDependencies = ( + DDAA4DBA2B173551002F0748 /* RewindJourney */, + ); + productName = RewindJourneyDemo; + productReference = DDAA4DA22B173530002F0748 /* RewindJourneyDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4D9A2B173530002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4DA12B173530002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4D9D2B173530002F0748 /* Build configuration list for PBXProject "RewindJourneyDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4D992B173530002F0748; + packageReferences = ( + DDAA4DB92B173551002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4DA32B173530002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4DA12B173530002F0748 /* RewindJourneyDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4DA02B173530002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DB22B173532002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4DAF2B173532002F0748 /* Assets.xcassets in Resources */, + DDAA4DAD2B173530002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4D9E2B173530002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DAA2B173530002F0748 /* ViewController.swift in Sources */, + DDAA4DA62B173530002F0748 /* AppDelegate.swift in Sources */, + DDAA4DA82B173530002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4DAB2B173530002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DAC2B173530002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4DB02B173532002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DB12B173532002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4DB42B173532002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4DB52B173532002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4DB72B173532002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = RewindJourneyDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.RewindJourneyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4DB82B173532002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = RewindJourneyDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.RewindJourneyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4D9D2B173530002F0748 /* Build configuration list for PBXProject "RewindJourneyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DB42B173532002F0748 /* Debug */, + DDAA4DB52B173532002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4DB62B173532002F0748 /* Build configuration list for PBXNativeTarget "RewindJourneyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DB72B173532002F0748 /* Debug */, + DDAA4DB82B173532002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4DB92B173551002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4DBA2B173551002F0748 /* RewindJourney */ = { + isa = XCSwiftPackageProductDependency; + productName = RewindJourney; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4D9A2B173530002F0748 /* Project object */; +} diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/AppDelegate.swift b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/AppDelegate.swift new file mode 100644 index 0000000..1248a15 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// RewindJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/Contents.json b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/Main.storyboard b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Info.plist b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/SceneDelegate.swift b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/SceneDelegate.swift new file mode 100644 index 0000000..784866e --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// RewindJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/ViewController.swift b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/ViewController.swift new file mode 100644 index 0000000..5626537 --- /dev/null +++ b/iOS/Features/RewindJourney/RewindJourneyDemo/RewindJourneyDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// RewindJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.pbxproj b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..163320f --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.pbxproj @@ -0,0 +1,396 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4DC92B17356D002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DC82B17356D002F0748 /* AppDelegate.swift */; }; + DDAA4DCB2B17356D002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */; }; + DDAA4DCD2B17356D002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DCC2B17356D002F0748 /* ViewController.swift */; }; + DDAA4DD02B17356D002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DCE2B17356D002F0748 /* Main.storyboard */; }; + DDAA4DD22B17356E002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DD12B17356E002F0748 /* Assets.xcassets */; }; + DDAA4DD52B17356E002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */; }; + DDAA4DDE2B17357F002F0748 /* SaveJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4DDD2B17357F002F0748 /* SaveJourney */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4DC52B17356D002F0748 /* SaveJourneyDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SaveJourneyDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4DC82B17356D002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4DCC2B17356D002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4DCF2B17356D002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4DD12B17356E002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4DD42B17356E002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4DD62B17356E002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4DC22B17356D002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DDE2B17357F002F0748 /* SaveJourney in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4DBC2B17356D002F0748 = { + isa = PBXGroup; + children = ( + DDAA4DC72B17356D002F0748 /* SaveJourneyDemo */, + DDAA4DC62B17356D002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4DC62B17356D002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4DC52B17356D002F0748 /* SaveJourneyDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4DC72B17356D002F0748 /* SaveJourneyDemo */ = { + isa = PBXGroup; + children = ( + DDAA4DC82B17356D002F0748 /* AppDelegate.swift */, + DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */, + DDAA4DCC2B17356D002F0748 /* ViewController.swift */, + DDAA4DCE2B17356D002F0748 /* Main.storyboard */, + DDAA4DD12B17356E002F0748 /* Assets.xcassets */, + DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */, + DDAA4DD62B17356E002F0748 /* Info.plist */, + ); + path = SaveJourneyDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4DC42B17356D002F0748 /* SaveJourneyDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4DD92B17356E002F0748 /* Build configuration list for PBXNativeTarget "SaveJourneyDemo" */; + buildPhases = ( + DDAA4DC12B17356D002F0748 /* Sources */, + DDAA4DC22B17356D002F0748 /* Frameworks */, + DDAA4DC32B17356D002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SaveJourneyDemo; + packageProductDependencies = ( + DDAA4DDD2B17357F002F0748 /* SaveJourney */, + ); + productName = SaveJourneyDemo; + productReference = DDAA4DC52B17356D002F0748 /* SaveJourneyDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4DBD2B17356D002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4DC42B17356D002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4DC02B17356D002F0748 /* Build configuration list for PBXProject "SaveJourneyDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4DBC2B17356D002F0748; + packageReferences = ( + DDAA4DDC2B17357F002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4DC62B17356D002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4DC42B17356D002F0748 /* SaveJourneyDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4DC32B17356D002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DD52B17356E002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4DD22B17356E002F0748 /* Assets.xcassets in Resources */, + DDAA4DD02B17356D002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4DC12B17356D002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DCD2B17356D002F0748 /* ViewController.swift in Sources */, + DDAA4DC92B17356D002F0748 /* AppDelegate.swift in Sources */, + DDAA4DCB2B17356D002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4DCE2B17356D002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DCF2B17356D002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DD42B17356E002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4DD72B17356E002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4DD82B17356E002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4DDA2B17356E002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SaveJourneyDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SaveJourneyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4DDB2B17356E002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SaveJourneyDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SaveJourneyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4DC02B17356D002F0748 /* Build configuration list for PBXProject "SaveJourneyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DD72B17356E002F0748 /* Debug */, + DDAA4DD82B17356E002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4DD92B17356E002F0748 /* Build configuration list for PBXNativeTarget "SaveJourneyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DDA2B17356E002F0748 /* Debug */, + DDAA4DDB2B17356E002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4DDC2B17357F002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4DDD2B17357F002F0748 /* SaveJourney */ = { + isa = XCSwiftPackageProductDependency; + productName = SaveJourney; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4DBD2B17356D002F0748 /* Project object */; +} diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/AppDelegate.swift b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/AppDelegate.swift new file mode 100644 index 0000000..3332466 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// SaveJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/Contents.json b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/Main.storyboard b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Info.plist b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/SceneDelegate.swift b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/SceneDelegate.swift new file mode 100644 index 0000000..defe329 --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// SaveJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/ViewController.swift b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/ViewController.swift new file mode 100644 index 0000000..aa71b3c --- /dev/null +++ b/iOS/Features/SaveJourney/SaveJourneyDemo/SaveJourneyDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// SaveJourneyDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.pbxproj b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..1c39d31 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.pbxproj @@ -0,0 +1,396 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4DEC2B17359E002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DEB2B17359E002F0748 /* AppDelegate.swift */; }; + DDAA4DEE2B17359E002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DED2B17359E002F0748 /* SceneDelegate.swift */; }; + DDAA4DF02B17359E002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DEF2B17359E002F0748 /* ViewController.swift */; }; + DDAA4DF32B17359E002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DF12B17359E002F0748 /* Main.storyboard */; }; + DDAA4DF52B1735A0002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DF42B1735A0002F0748 /* Assets.xcassets */; }; + DDAA4DF82B1735A0002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DF62B1735A0002F0748 /* LaunchScreen.storyboard */; }; + DDAA4E012B1735B6002F0748 /* SelectSong in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4E002B1735B6002F0748 /* SelectSong */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4DE82B17359E002F0748 /* SelectSongDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SelectSongDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4DEB2B17359E002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4DED2B17359E002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4DEF2B17359E002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4DF22B17359E002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4DF42B1735A0002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4DF72B1735A0002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4DF92B1735A0002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4DE52B17359E002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4E012B1735B6002F0748 /* SelectSong in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4DDF2B17359E002F0748 = { + isa = PBXGroup; + children = ( + DDAA4DEA2B17359E002F0748 /* SelectSongDemo */, + DDAA4DE92B17359E002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4DE92B17359E002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4DE82B17359E002F0748 /* SelectSongDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4DEA2B17359E002F0748 /* SelectSongDemo */ = { + isa = PBXGroup; + children = ( + DDAA4DEB2B17359E002F0748 /* AppDelegate.swift */, + DDAA4DED2B17359E002F0748 /* SceneDelegate.swift */, + DDAA4DEF2B17359E002F0748 /* ViewController.swift */, + DDAA4DF12B17359E002F0748 /* Main.storyboard */, + DDAA4DF42B1735A0002F0748 /* Assets.xcassets */, + DDAA4DF62B1735A0002F0748 /* LaunchScreen.storyboard */, + DDAA4DF92B1735A0002F0748 /* Info.plist */, + ); + path = SelectSongDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4DE72B17359E002F0748 /* SelectSongDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4DFC2B1735A0002F0748 /* Build configuration list for PBXNativeTarget "SelectSongDemo" */; + buildPhases = ( + DDAA4DE42B17359E002F0748 /* Sources */, + DDAA4DE52B17359E002F0748 /* Frameworks */, + DDAA4DE62B17359E002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SelectSongDemo; + packageProductDependencies = ( + DDAA4E002B1735B6002F0748 /* SelectSong */, + ); + productName = SelectSongDemo; + productReference = DDAA4DE82B17359E002F0748 /* SelectSongDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4DE02B17359E002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4DE72B17359E002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4DE32B17359E002F0748 /* Build configuration list for PBXProject "SelectSongDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4DDF2B17359E002F0748; + packageReferences = ( + DDAA4DFF2B1735B6002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4DE92B17359E002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4DE72B17359E002F0748 /* SelectSongDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4DE62B17359E002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DF82B1735A0002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4DF52B1735A0002F0748 /* Assets.xcassets in Resources */, + DDAA4DF32B17359E002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4DE42B17359E002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4DF02B17359E002F0748 /* ViewController.swift in Sources */, + DDAA4DEC2B17359E002F0748 /* AppDelegate.swift in Sources */, + DDAA4DEE2B17359E002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4DF12B17359E002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DF22B17359E002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4DF62B1735A0002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4DF72B1735A0002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4DFA2B1735A0002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4DFB2B1735A0002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4DFD2B1735A0002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SelectSongDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SelectSongDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4DFE2B1735A0002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SelectSongDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SelectSongDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4DE32B17359E002F0748 /* Build configuration list for PBXProject "SelectSongDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DFA2B1735A0002F0748 /* Debug */, + DDAA4DFB2B1735A0002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4DFC2B1735A0002F0748 /* Build configuration list for PBXNativeTarget "SelectSongDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4DFD2B1735A0002F0748 /* Debug */, + DDAA4DFE2B1735A0002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4DFF2B1735B6002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4E002B1735B6002F0748 /* SelectSong */ = { + isa = XCSwiftPackageProductDependency; + productName = SelectSong; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4DE02B17359E002F0748 /* Project object */; +} diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/AppDelegate.swift b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/AppDelegate.swift new file mode 100644 index 0000000..125bc24 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// SelectSongDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/Contents.json b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/Main.storyboard b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Info.plist b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/SceneDelegate.swift b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/SceneDelegate.swift new file mode 100644 index 0000000..4ad36dd --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// SelectSongDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/ViewController.swift b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/ViewController.swift new file mode 100644 index 0000000..7d1b05b --- /dev/null +++ b/iOS/Features/SelectSong/SelectSongDemo/SelectSongDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// SelectSongDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.pbxproj b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d7a2250 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.pbxproj @@ -0,0 +1,396 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + DDAA4E0F2B1735CF002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4E0E2B1735CF002F0748 /* AppDelegate.swift */; }; + DDAA4E112B1735CF002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4E102B1735CF002F0748 /* SceneDelegate.swift */; }; + DDAA4E132B1735CF002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4E122B1735CF002F0748 /* ViewController.swift */; }; + DDAA4E162B1735CF002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4E142B1735CF002F0748 /* Main.storyboard */; }; + DDAA4E182B1735D0002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4E172B1735D0002F0748 /* Assets.xcassets */; }; + DDAA4E1B2B1735D0002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4E192B1735D0002F0748 /* LaunchScreen.storyboard */; }; + DDAA4E242B1735E4002F0748 /* Spot in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4E232B1735E4002F0748 /* Spot */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + DDAA4E0B2B1735CF002F0748 /* SpotDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SpotDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DDAA4E0E2B1735CF002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + DDAA4E102B1735CF002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + DDAA4E122B1735CF002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + DDAA4E152B1735CF002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + DDAA4E172B1735D0002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DDAA4E1A2B1735D0002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + DDAA4E1C2B1735D0002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + DDAA4E082B1735CF002F0748 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4E242B1735E4002F0748 /* Spot in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + DDAA4E022B1735CF002F0748 = { + isa = PBXGroup; + children = ( + DDAA4E0D2B1735CF002F0748 /* SpotDemo */, + DDAA4E0C2B1735CF002F0748 /* Products */, + ); + sourceTree = ""; + }; + DDAA4E0C2B1735CF002F0748 /* Products */ = { + isa = PBXGroup; + children = ( + DDAA4E0B2B1735CF002F0748 /* SpotDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + DDAA4E0D2B1735CF002F0748 /* SpotDemo */ = { + isa = PBXGroup; + children = ( + DDAA4E0E2B1735CF002F0748 /* AppDelegate.swift */, + DDAA4E102B1735CF002F0748 /* SceneDelegate.swift */, + DDAA4E122B1735CF002F0748 /* ViewController.swift */, + DDAA4E142B1735CF002F0748 /* Main.storyboard */, + DDAA4E172B1735D0002F0748 /* Assets.xcassets */, + DDAA4E192B1735D0002F0748 /* LaunchScreen.storyboard */, + DDAA4E1C2B1735D0002F0748 /* Info.plist */, + ); + path = SpotDemo; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + DDAA4E0A2B1735CF002F0748 /* SpotDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = DDAA4E1F2B1735D0002F0748 /* Build configuration list for PBXNativeTarget "SpotDemo" */; + buildPhases = ( + DDAA4E072B1735CF002F0748 /* Sources */, + DDAA4E082B1735CF002F0748 /* Frameworks */, + DDAA4E092B1735CF002F0748 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SpotDemo; + packageProductDependencies = ( + DDAA4E232B1735E4002F0748 /* Spot */, + ); + productName = SpotDemo; + productReference = DDAA4E0B2B1735CF002F0748 /* SpotDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + DDAA4E032B1735CF002F0748 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; + TargetAttributes = { + DDAA4E0A2B1735CF002F0748 = { + CreatedOnToolsVersion = 15.0.1; + }; + }; + }; + buildConfigurationList = DDAA4E062B1735CF002F0748 /* Build configuration list for PBXProject "SpotDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = DDAA4E022B1735CF002F0748; + packageReferences = ( + DDAA4E222B1735E4002F0748 /* XCLocalSwiftPackageReference ".." */, + ); + productRefGroup = DDAA4E0C2B1735CF002F0748 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + DDAA4E0A2B1735CF002F0748 /* SpotDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + DDAA4E092B1735CF002F0748 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4E1B2B1735D0002F0748 /* LaunchScreen.storyboard in Resources */, + DDAA4E182B1735D0002F0748 /* Assets.xcassets in Resources */, + DDAA4E162B1735CF002F0748 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + DDAA4E072B1735CF002F0748 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDAA4E132B1735CF002F0748 /* ViewController.swift in Sources */, + DDAA4E0F2B1735CF002F0748 /* AppDelegate.swift in Sources */, + DDAA4E112B1735CF002F0748 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + DDAA4E142B1735CF002F0748 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4E152B1735CF002F0748 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + DDAA4E192B1735D0002F0748 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + DDAA4E1A2B1735D0002F0748 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + DDAA4E1D2B1735D0002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + DDAA4E1E2B1735D0002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + 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; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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 = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DDAA4E202B1735D0002F0748 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SpotDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SpotDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + DDAA4E212B1735D0002F0748 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SpotDemo/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcamp8.SpotDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + DDAA4E062B1735CF002F0748 /* Build configuration list for PBXProject "SpotDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4E1D2B1735D0002F0748 /* Debug */, + DDAA4E1E2B1735D0002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DDAA4E1F2B1735D0002F0748 /* Build configuration list for PBXNativeTarget "SpotDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DDAA4E202B1735D0002F0748 /* Debug */, + DDAA4E212B1735D0002F0748 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + DDAA4E222B1735E4002F0748 /* XCLocalSwiftPackageReference ".." */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ..; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + DDAA4E232B1735E4002F0748 /* Spot */ = { + isa = XCSwiftPackageProductDependency; + productName = Spot; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = DDAA4E032B1735CF002F0748 /* Project object */; +} diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/AppDelegate.swift b/iOS/Features/Spot/SpotDemo/SpotDemo/AppDelegate.swift new file mode 100644 index 0000000..b2afe12 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// SpotDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/Contents.json b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/LaunchScreen.storyboard b/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/Main.storyboard b/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/Main.storyboard new file mode 100644 index 0000000..25a7638 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/Info.plist b/iOS/Features/Spot/SpotDemo/SpotDemo/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/iOS/Features/Spot/SpotDemo/SpotDemo/SceneDelegate.swift b/iOS/Features/Spot/SpotDemo/SpotDemo/SceneDelegate.swift new file mode 100644 index 0000000..0a7c806 --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// SpotDemo +// +// Created by 이창준 on 2023.11.29. +// + +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/iOS/Features/Spot/SpotDemo/SpotDemo/ViewController.swift b/iOS/Features/Spot/SpotDemo/SpotDemo/ViewController.swift new file mode 100644 index 0000000..2edaf0c --- /dev/null +++ b/iOS/Features/Spot/SpotDemo/SpotDemo/ViewController.swift @@ -0,0 +1,19 @@ +// +// ViewController.swift +// SpotDemo +// +// Created by 이창준 on 2023.11.29. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + +} +