diff --git a/iOS/.gitignore b/iOS/.gitignore new file mode 100644 index 0000000..b934dfb --- /dev/null +++ b/iOS/.gitignore @@ -0,0 +1,140 @@ +# Created by https://www.toptal.com/developers/gitignore/api/macos,xcode,swiftpackagemanager,swift +# Edit at https://www.toptal.com/developers/gitignore?templates=macos,xcode,swiftpackagemanager,swift + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# Pods/ +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +### SwiftPackageManager ### +Packages +xcuserdata +*.xcodeproj + + +### Xcode ### + +## Xcode 8 and earlier + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcodeproj/project.xcworkspace/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno +**/xcshareddata/WorkspaceSettings.xcsettings + +# End of https://www.toptal.com/developers/gitignore/api/macos,xcode,swiftpackagemanager,swift \ No newline at end of file diff --git a/iOS/MSCoreKit/.gitignore b/iOS/MSCoreKit/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/MSCoreKit/.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/MSCoreKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/MSCoreKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/MSCoreKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/MSCoreKit/Package.swift b/iOS/MSCoreKit/Package.swift new file mode 100644 index 0000000..833fe9a --- /dev/null +++ b/iOS/MSCoreKit/Package.swift @@ -0,0 +1,59 @@ +// 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 = "MSCoreKit" + static let persistentStorage = "MSPersistentStorage" + static let networking = "MSNetworking" + static let fetcher = "MSFetcher" + static let cache = "MSCacheStorage" + + var testTarget: String { + return self + "Tests" + } +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: .persistentStorage, + targets: [.persistentStorage]), + .library(name: .networking, + targets: [.networking]), + .library(name: .fetcher, + targets: [.fetcher]), + .library(name: .cache, + targets: [.cache]) + ], + targets: [ + // Codes + .target(name: .persistentStorage), + .target(name: .networking), + .target(name: .fetcher, + dependencies: [ + .target(name: .persistentStorage), + .target(name: .networking) + ]), + .target(name: .cache), + + // Tests + .testTarget(name: .persistentStorage.testTarget, + dependencies: [.target(name: .persistentStorage)]), + .testTarget(name: .networking.testTarget, + dependencies: [.target(name: .networking)]), + .testTarget(name: .fetcher.testTarget, + dependencies: [.target(name: .fetcher)]), + .testTarget(name: .cache.testTarget, + dependencies: [.target(name: .cache)]) + ], + swiftLanguageVersions: [.v5] +) diff --git a/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift b/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift new file mode 100644 index 0000000..ab2123f --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSCacheStorage/MSCacheStorage.swift @@ -0,0 +1,6 @@ +// +// MSCacheStorage.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSCoreKit/Sources/MSFetcher/MSFetcher.swift b/iOS/MSCoreKit/Sources/MSFetcher/MSFetcher.swift new file mode 100644 index 0000000..32d05c6 --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSFetcher/MSFetcher.swift @@ -0,0 +1,6 @@ +// +// MSFetcher.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift b/iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift new file mode 100644 index 0000000..5b4af4c --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift @@ -0,0 +1,6 @@ +// +// MSNetworking.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSCoreKit/Sources/MSPersistentStorage/MSPersistentStorage.swift b/iOS/MSCoreKit/Sources/MSPersistentStorage/MSPersistentStorage.swift new file mode 100644 index 0000000..92cae5f --- /dev/null +++ b/iOS/MSCoreKit/Sources/MSPersistentStorage/MSPersistentStorage.swift @@ -0,0 +1,6 @@ +// +// MSPersistentStorage.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSCoreKit/Tests/MSCacheStorageTests/MSCacheStorageTests.swift b/iOS/MSCoreKit/Tests/MSCacheStorageTests/MSCacheStorageTests.swift new file mode 100644 index 0000000..39bb565 --- /dev/null +++ b/iOS/MSCoreKit/Tests/MSCacheStorageTests/MSCacheStorageTests.swift @@ -0,0 +1,12 @@ +// +// MSCacheStorageTests.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// + +import XCTest + +final class MSCacheStorageTests: XCTestCase { + +} diff --git a/iOS/MSCoreKit/Tests/MSFetcherTests/MSFetcherTests.swift b/iOS/MSCoreKit/Tests/MSFetcherTests/MSFetcherTests.swift new file mode 100644 index 0000000..d33b917 --- /dev/null +++ b/iOS/MSCoreKit/Tests/MSFetcherTests/MSFetcherTests.swift @@ -0,0 +1,12 @@ +// +// MSFetcherTests.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// + +import XCTest + +final class MSFetcherTests: XCTestCase { + +} diff --git a/iOS/MSCoreKit/Tests/MSNetworkingTests/MSNetworkingTests.swift b/iOS/MSCoreKit/Tests/MSNetworkingTests/MSNetworkingTests.swift new file mode 100644 index 0000000..1ff7de9 --- /dev/null +++ b/iOS/MSCoreKit/Tests/MSNetworkingTests/MSNetworkingTests.swift @@ -0,0 +1,12 @@ +// +// MSNetworkingTests.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// + +import XCTest + +final class MSNetworkingTests: XCTestCase { + +} diff --git a/iOS/MSCoreKit/Tests/MSPersistentStorageTests/MSPersistentStorageTests.swift b/iOS/MSCoreKit/Tests/MSPersistentStorageTests/MSPersistentStorageTests.swift new file mode 100644 index 0000000..eaac037 --- /dev/null +++ b/iOS/MSCoreKit/Tests/MSPersistentStorageTests/MSPersistentStorageTests.swift @@ -0,0 +1,13 @@ +// +// MSPersistentStorageTests.swift +// MSCoreKit +// +// Created by 이창준 on 11/14/23. +// + +import XCTest + +final class MSPersistentStorageTests: XCTestCase { + +} + diff --git a/iOS/MSFoundation/.gitignore b/iOS/MSFoundation/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/MSFoundation/.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/MSFoundation/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/MSFoundation/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/FoundationExt.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/FoundationExt.xcscheme new file mode 100644 index 0000000..d5e53b1 --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/FoundationExt.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation-Package.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation-Package.xcscheme new file mode 100644 index 0000000..38b856f --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation-Package.xcscheme @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation.xcscheme new file mode 100644 index 0000000..b683dc0 --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSFoundation.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme new file mode 100644 index 0000000..c44d62d --- /dev/null +++ b/iOS/MSFoundation/.swiftpm/xcode/xcshareddata/xcschemes/MSLogger.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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/Package.swift b/iOS/MSFoundation/Package.swift new file mode 100644 index 0000000..5a14aa8 --- /dev/null +++ b/iOS/MSFoundation/Package.swift @@ -0,0 +1,47 @@ +// 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 = "MSFoundation" + static let foundationExt = "FoundationExt" + static let logger = "MSLogger" + static let userDefaults = "MSUserDefaults" + + var testTarget: String { + return self + "Tests" + } +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: .foundationExt, + targets: [.foundationExt]), + .library(name: .logger, + targets: [.logger]), + .library(name: .userDefaults, + targets: [.userDefaults]) + ], + targets: [ + // Codes + .target(name: .foundationExt), + .target(name: .logger), + .target(name: .userDefaults), + + // Tests + .testTarget(name: .logger.testTarget, + dependencies: [.target(name: .logger)]), + .testTarget(name: .userDefaults.testTarget, + dependencies: [.target(name: .userDefaults)]) + ], + swiftLanguageVersions: [.v5] +) diff --git a/iOS/MSFoundation/Sources/FoundationExt/String+.swift b/iOS/MSFoundation/Sources/FoundationExt/String+.swift new file mode 100644 index 0000000..50e046c --- /dev/null +++ b/iOS/MSFoundation/Sources/FoundationExt/String+.swift @@ -0,0 +1,6 @@ +// +// String+.swift +// MSFoundation +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSFoundation/Sources/MSLogger/MSLogger.swift b/iOS/MSFoundation/Sources/MSLogger/MSLogger.swift new file mode 100644 index 0000000..12a8b92 --- /dev/null +++ b/iOS/MSFoundation/Sources/MSLogger/MSLogger.swift @@ -0,0 +1,6 @@ +// +// MSLogger.swift +// MSFoundation +// +// Created by 이창준 on 11/14/23. +// diff --git a/iOS/MSFoundation/Sources/MSUserDefaults/UserDefaultsStorage.swift b/iOS/MSFoundation/Sources/MSUserDefaults/UserDefaultsStorage.swift new file mode 100644 index 0000000..791ef38 --- /dev/null +++ b/iOS/MSFoundation/Sources/MSUserDefaults/UserDefaultsStorage.swift @@ -0,0 +1,10 @@ +// +// UserDefaultsStorage.swift +// MSFoundation +// +// Created by 이창준 on 11/14/23. +// + +import Foundation + + diff --git a/iOS/MSFoundation/Tests/MSLoggerTests/MSLoggerTests.swift b/iOS/MSFoundation/Tests/MSLoggerTests/MSLoggerTests.swift new file mode 100644 index 0000000..cd3f09c --- /dev/null +++ b/iOS/MSFoundation/Tests/MSLoggerTests/MSLoggerTests.swift @@ -0,0 +1,13 @@ +// +// MSLoggerTests.swift +// MSFoundation +// +// Created by 이창준 on 11/14/23. +// + +import XCTest +import MSLogger + +final class MSLoggerTests: XCTestCase { + +} diff --git a/iOS/MSFoundation/Tests/MSUserDefaultsTests/MSUserDefaultsTests.swift b/iOS/MSFoundation/Tests/MSUserDefaultsTests/MSUserDefaultsTests.swift new file mode 100644 index 0000000..757dd97 --- /dev/null +++ b/iOS/MSFoundation/Tests/MSUserDefaultsTests/MSUserDefaultsTests.swift @@ -0,0 +1,8 @@ +// +// MSUserDefaultsTests.swift +// MSFoundation +// +// Created by 이창준 on 11/14/23. +// + +import Foundation diff --git a/iOS/MSUIKit/.gitignore b/iOS/MSUIKit/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/iOS/MSUIKit/.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/MSUIKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/MSUIKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iOS/MSUIKit/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/MSUIKit/Package.swift b/iOS/MSUIKit/Package.swift new file mode 100644 index 0000000..bfabf39 --- /dev/null +++ b/iOS/MSUIKit/Package.swift @@ -0,0 +1,39 @@ +// 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 = "MSUIKit" + static let designSystem = "MSDesignSystem" + static let components = "MSUIComponents" + + var testTarget: String { + return self + "Tests" + } +} + +// MARK: - Package + +let package = Package( + name: .package, + platforms: [ + .iOS(.v15) + ], + products: [ + .library(name: .designSystem, + targets: [.designSystem]), + .library(name: .components, + targets: [.components]) + ], + targets: [ + // Codes + .target(name: .designSystem), + .target(name: .components, + dependencies: [.target(name: .designSystem)]) + // Tests + ], + swiftLanguageVersions: [.v5] +) diff --git a/iOS/MSUIKit/Sources/MSDesignSystem/MSDesignSystem.swift b/iOS/MSUIKit/Sources/MSDesignSystem/MSDesignSystem.swift new file mode 100644 index 0000000..bbcc51f --- /dev/null +++ b/iOS/MSUIKit/Sources/MSDesignSystem/MSDesignSystem.swift @@ -0,0 +1,8 @@ +// +// MSDesignSystem.swift +// MSUIKit +// +// Created by 이창준 on 11/14/23. +// + +import UIKit diff --git a/iOS/MSUIKit/Sources/MSUIComponents/MSUIComponents.swift b/iOS/MSUIKit/Sources/MSUIComponents/MSUIComponents.swift new file mode 100644 index 0000000..dc701bb --- /dev/null +++ b/iOS/MSUIKit/Sources/MSUIComponents/MSUIComponents.swift @@ -0,0 +1,8 @@ +// +// MSUIComponents.swift +// MSUIKit +// +// Created by 이창준 on 11/14/23. +// + +import UIKit diff --git a/iOS/MSUIKit/Tests/gitkeep b/iOS/MSUIKit/Tests/gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/iOS/MusicSpot/MusicSpot/AppDelegate.swift b/iOS/MusicSpot/MusicSpot/AppDelegate.swift new file mode 100644 index 0000000..0d0cd62 --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/AppDelegate.swift @@ -0,0 +1,26 @@ +// +// AppDelegate.swift +// MusicSpot +// +// Created by 이창준 on 11/13/23. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, + configurationForConnecting connectingSceneSession: UISceneSession, + options: UIScene.ConnectionOptions) -> UISceneConfiguration { + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + +} diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..274babb --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/1024.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000..b78c3f2 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/114.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 0000000..39bba14 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/114.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/120.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000..c455a15 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/180.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000..a7a18cc Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/29.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000..20dab9a Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/40.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000..17bd08e Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/57.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000..548f497 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/57.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/58.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000..4f6512c Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/60.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000..5a9ebc9 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/80.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000..b407ed9 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/87.png b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000..ae43c83 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..73d3b7f --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1 @@ +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"}]} \ No newline at end of file diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/Contents.json b/iOS/MusicSpot/MusicSpot/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/Contents.json b/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/Contents.json new file mode 100644 index 0000000..4f547d0 --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "logo.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/logo.pdf b/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/logo.pdf new file mode 100644 index 0000000..77885b4 Binary files /dev/null and b/iOS/MusicSpot/MusicSpot/Assets.xcassets/logo.imageset/logo.pdf differ diff --git a/iOS/MusicSpot/MusicSpot/Base.lproj/LaunchScreen.storyboard b/iOS/MusicSpot/MusicSpot/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..9eaed41 --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/MusicSpot/MusicSpot/Info.plist b/iOS/MusicSpot/MusicSpot/Info.plist new file mode 100644 index 0000000..0eb786d --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/Info.plist @@ -0,0 +1,23 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + + + + + + diff --git a/iOS/MusicSpot/MusicSpot/SceneDelegate.swift b/iOS/MusicSpot/MusicSpot/SceneDelegate.swift new file mode 100644 index 0000000..5e3820a --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/SceneDelegate.swift @@ -0,0 +1,23 @@ +// +// SceneDelegate.swift +// MusicSpot +// +// Created by 이창준 on 11/13/23. +// + +import UIKit +import MSLogger + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + func scene(_ scene: UIScene, + willConnectTo session: UISceneSession, + options connectionOptions: UIScene.ConnectionOptions) { + guard let _ = (scene as? UIWindowScene) else { return } + + print(logger) + } + +} diff --git a/iOS/MusicSpot/MusicSpot/ko.lproj/LaunchScreen.strings b/iOS/MusicSpot/MusicSpot/ko.lproj/LaunchScreen.strings new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/iOS/MusicSpot/MusicSpot/ko.lproj/LaunchScreen.strings @@ -0,0 +1 @@ +