Skip to content

Commit 3f7d5e8

Browse files
authored
[NONE]: 프로젝트 생성 및 모듈 구조 정의 (#2)
* [NONE]: 프로젝트 생성 * [NONE]: 모듈 구조 정의 * [NONE]: ProjectDescriptionHelpers 정의 및 중복 코드 제거 * [NONE]: DomainLayer -> FeatureLayer 이름 변경
1 parent 768e402 commit 3f7d5e8

File tree

26 files changed

+428
-50
lines changed

26 files changed

+428
-50
lines changed

.gitignore

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,70 @@
1+
### macOS ###
2+
# General
3+
.DS_Store
4+
.AppleDouble
5+
.LSOverride
6+
7+
# Icon must end with two
8+
Icon
9+
10+
# Thumbnails
11+
._*
12+
13+
# Files that might appear in the root of a volume
14+
.DocumentRevisions-V100
15+
.fseventsd
16+
.Spotlight-V100
17+
.TemporaryItems
18+
.Trashes
19+
.VolumeIcon.icns
20+
.com.apple.timemachine.donotpresent
21+
22+
# Directories potentially created on remote AFP share
23+
.AppleDB
24+
.AppleDesktop
25+
Network Trash Folder
26+
Temporary Items
27+
.apdisk
28+
29+
### Xcode ###
130
# Xcode
231
#
332
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
433

534
## User settings
635
xcuserdata/
736

8-
## Obj-C/Swift specific
9-
*.hmap
37+
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
38+
*.xcscmblueprint
39+
*.xccheckout
1040

11-
## App packaging
12-
*.ipa
13-
*.dSYM.zip
14-
*.dSYM
41+
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
42+
build/
43+
DerivedData/
44+
*.moved-aside
45+
*.pbxuser
46+
!default.pbxuser
47+
*.mode1v3
48+
!default.mode1v3
49+
*.mode2v3
50+
!default.mode2v3
51+
*.perspectivev3
52+
!default.perspectivev3
1553

16-
## Playgrounds
17-
timeline.xctimeline
18-
playground.xcworkspace
54+
### Xcode Patch ###
55+
*.xcodeproj/*
56+
!*.xcodeproj/project.pbxproj
57+
!*.xcodeproj/xcshareddata/
58+
!*.xcworkspace/contents.xcworkspacedata
59+
/*.gcno
1960

20-
# Swift Package Manager
21-
#
22-
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
23-
# Packages/
24-
# Package.pins
25-
# Package.resolved
26-
# *.xcodeproj
27-
#
28-
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
29-
# hence it is not needed unless you have added a package configuration file to your project
30-
# .swiftpm
61+
### Projects ###
62+
*.xcodeproj
63+
*.xcworkspace
3164

32-
.build/
65+
### Tuist derived files ###
66+
graph.dot
67+
Derived/
3368

34-
# CocoaPods
35-
#
36-
# We recommend against adding the Pods directory to your .gitignore. However
37-
# you should judge for yourself, the pros and cons are mentioned at:
38-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
39-
#
40-
# Pods/
41-
#
42-
# Add this line if you want to avoid checking in source code from the Xcode workspace
43-
# *.xcworkspace
44-
45-
# Carthage
46-
#
47-
# Add this line if you want to avoid checking in source code from Carthage dependencies.
48-
# Carthage/Checkouts
49-
50-
Carthage/Build/
51-
52-
# fastlane
53-
#
54-
# It is recommended to not store the screenshots in the git repo.
55-
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
56-
# For more information about the recommended setup visit:
57-
# https://docs.fastlane.tools/best-practices/source-control/#source-control
58-
59-
fastlane/report.xml
60-
fastlane/Preview.html
61-
fastlane/screenshots/**/*.png
62-
fastlane/test_output
69+
### Tuist managed dependencies ###
70+
Tuist/.build

App/Project.swift

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import ProjectDescription
2+
import ProjectDescriptionHelpers
3+
4+
let project = AppLayer().project
5+
6+
struct AppLayer: Layer {
7+
8+
var name: String { "Satto" }
9+
var targets: [Target] {
10+
[
11+
.createTarget(
12+
name: name,
13+
product: .app,
14+
bundleId: "com.hanbang.satto",
15+
infoPlist: .extendingDefault(
16+
with: [
17+
"UIApplicationSceneManifest": [
18+
"UIApplicationSupportsMultipleScenes": false,
19+
"UISceneConfigurations": [
20+
"UIWindowSceneSessionRoleApplication": [
21+
[
22+
"UISceneConfigurationName": "Default Configuration",
23+
"UISceneDelegateClassName": "$(PRODUCT_MODULE_NAME).SceneDelegate"
24+
],
25+
]
26+
]
27+
],
28+
]
29+
),
30+
sources: ["Sources/**"],
31+
resources: ["Resources/**"],
32+
dependencies: [.project(target: "FeatureLayer", path: "../Feature")]
33+
)
34+
]
35+
}
36+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "iphone",
5+
"scale" : "2x",
6+
"size" : "20x20"
7+
},
8+
{
9+
"idiom" : "iphone",
10+
"scale" : "3x",
11+
"size" : "20x20"
12+
},
13+
{
14+
"idiom" : "iphone",
15+
"scale" : "2x",
16+
"size" : "29x29"
17+
},
18+
{
19+
"idiom" : "iphone",
20+
"scale" : "3x",
21+
"size" : "29x29"
22+
},
23+
{
24+
"idiom" : "iphone",
25+
"scale" : "2x",
26+
"size" : "40x40"
27+
},
28+
{
29+
"idiom" : "iphone",
30+
"scale" : "3x",
31+
"size" : "40x40"
32+
},
33+
{
34+
"idiom" : "iphone",
35+
"scale" : "2x",
36+
"size" : "60x60"
37+
},
38+
{
39+
"idiom" : "iphone",
40+
"scale" : "3x",
41+
"size" : "60x60"
42+
},
43+
{
44+
"idiom" : "ipad",
45+
"scale" : "1x",
46+
"size" : "20x20"
47+
},
48+
{
49+
"idiom" : "ipad",
50+
"scale" : "2x",
51+
"size" : "20x20"
52+
},
53+
{
54+
"idiom" : "ipad",
55+
"scale" : "1x",
56+
"size" : "29x29"
57+
},
58+
{
59+
"idiom" : "ipad",
60+
"scale" : "2x",
61+
"size" : "29x29"
62+
},
63+
{
64+
"idiom" : "ipad",
65+
"scale" : "1x",
66+
"size" : "40x40"
67+
},
68+
{
69+
"idiom" : "ipad",
70+
"scale" : "2x",
71+
"size" : "40x40"
72+
},
73+
{
74+
"idiom" : "ipad",
75+
"scale" : "1x",
76+
"size" : "76x76"
77+
},
78+
{
79+
"idiom" : "ipad",
80+
"scale" : "2x",
81+
"size" : "76x76"
82+
},
83+
{
84+
"idiom" : "ipad",
85+
"scale" : "2x",
86+
"size" : "83.5x83.5"
87+
},
88+
{
89+
"idiom" : "ios-marketing",
90+
"scale" : "1x",
91+
"size" : "1024x1024"
92+
}
93+
],
94+
"info" : {
95+
"author" : "xcode",
96+
"version" : 1
97+
}
98+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"author" : "xcode",
4+
"version" : 1
5+
}
6+
}

App/Sources/AppDelegate.swift

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import UIKit
2+
3+
@main
4+
class AppDelegate: UIResponder, UIApplicationDelegate {
5+
6+
7+
8+
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
9+
// Override point for customization after application launch.
10+
return true
11+
}
12+
13+
// MARK: UISceneSession Lifecycle
14+
15+
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
16+
// Called when a new scene session is being created.
17+
// Use this method to select a configuration to create the new scene with.
18+
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
19+
}
20+
21+
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
22+
// Called when the user discards a scene session.
23+
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
24+
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
25+
}
26+
27+
28+
}

App/Sources/SceneDelegate.swift

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import UIKit
2+
3+
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
4+
5+
var window: UIWindow?
6+
7+
8+
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
9+
guard let windowScene = (scene as? UIWindowScene) else { return }
10+
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
11+
window?.windowScene = windowScene
12+
13+
let viewController = ViewController()
14+
15+
window?.rootViewController = viewController
16+
window?.makeKeyAndVisible()
17+
}
18+
19+
func sceneDidDisconnect(_ scene: UIScene) {
20+
// Called as the scene is being released by the system.
21+
// This occurs shortly after the scene enters the background, or when its session is discarded.
22+
// Release any resources associated with this scene that can be re-created the next time the scene connects.
23+
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
24+
}
25+
26+
func sceneDidBecomeActive(_ scene: UIScene) {
27+
// Called when the scene has moved from an inactive state to an active state.
28+
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
29+
}
30+
31+
func sceneWillResignActive(_ scene: UIScene) {
32+
// Called when the scene will move from an active state to an inactive state.
33+
// This may occur due to temporary interruptions (ex. an incoming phone call).
34+
}
35+
36+
func sceneWillEnterForeground(_ scene: UIScene) {
37+
// Called as the scene transitions from the background to the foreground.
38+
// Use this method to undo the changes made on entering the background.
39+
}
40+
41+
func sceneDidEnterBackground(_ scene: UIScene) {
42+
// Called as the scene transitions from the foreground to the background.
43+
// Use this method to save data, release shared resources, and store enough scene-specific state information
44+
// to restore the scene back to its current state.
45+
}
46+
47+
48+
}
49+

App/Sources/ViewController.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import UIKit
2+
3+
class ViewController: UIViewController {
4+
5+
override func viewDidLoad() {
6+
super.viewDidLoad()
7+
// Do any additional setup after loading the view.
8+
}
9+
10+
11+
}
12+

Common/Auth/Sources/empty.swift

Whitespace-only changes.

Common/Constant/Sources/empty.swift

Whitespace-only changes.

0 commit comments

Comments
 (0)