diff --git a/MemorialHouse/MHApplication/MHApplication.xcodeproj/project.pbxproj b/MemorialHouse/MHApplication/MHApplication.xcodeproj/project.pbxproj index 305b35a3..76c69d77 100644 --- a/MemorialHouse/MHApplication/MHApplication.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHApplication/MHApplication.xcodeproj/project.pbxproj @@ -7,11 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 0EE4A0A22CD5DD2400F17FA5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE4A0982CD5DD2400F17FA5 /* AppDelegate.swift */; }; - 0EE4A0A32CD5DD2400F17FA5 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE4A09F2CD5DD2400F17FA5 /* SceneDelegate.swift */; }; - 0EE4A0A42CD5DD2400F17FA5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE4A0A02CD5DD2400F17FA5 /* ViewController.swift */; }; - 0EE4A0A52CD5DD2400F17FA5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0EE4A0992CD5DD2400F17FA5 /* Assets.xcassets */; }; - 0EE4A0A72CD5DD2400F17FA5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0EE4A09C2CD5DD2400F17FA5 /* LaunchScreen.storyboard */; }; CE9AEB6A2CD7B3DA00F8471D /* MHDomain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEB692CD7B3DA00F8471D /* MHDomain.framework */; }; CE9AEB6B2CD7B3DA00F8471D /* MHDomain.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEB692CD7B3DA00F8471D /* MHDomain.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE9AEB8A2CD7B4A800F8471D /* MHData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEB892CD7B4A800F8471D /* MHData.framework */; }; @@ -44,12 +39,6 @@ /* Begin PBXFileReference section */ 0EE4A0802CD5DD1800F17FA5 /* MemorialHouse.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MemorialHouse.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 0EE4A0982CD5DD2400F17FA5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 0EE4A0992CD5DD2400F17FA5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 0EE4A09A2CD5DD2400F17FA5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0EE4A09B2CD5DD2400F17FA5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 0EE4A09F2CD5DD2400F17FA5 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 0EE4A0A02CD5DD2400F17FA5 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; CE9AEB692CD7B3DA00F8471D /* MHDomain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHDomain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE9AEB892CD7B4A800F8471D /* MHData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE9AEBAE2CD7B52D00F8471D /* MHPresentation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHPresentation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -57,6 +46,27 @@ DB382CBC2CD9B1C1000D7689 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 0E5C14CC2CDFB75D005406B3 /* Exceptions for "MHApplication" folder in "MemorialHouse" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Resource/Info.plist, + ); + target = 0EE4A07F2CD5DD1800F17FA5 /* MemorialHouse */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14C62CDFB75D005406B3 /* MHApplication */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 0E5C14CC2CDFB75D005406B3 /* Exceptions for "MHApplication" folder in "MemorialHouse" target */, + ); + path = MHApplication; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ 0EE4A07D2CD5DD1800F17FA5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -76,7 +86,7 @@ 0EE4A0772CD5DD1800F17FA5 = { isa = PBXGroup; children = ( - 0EE4A0A12CD5DD2400F17FA5 /* MHApplication */, + 0E5C14C62CDFB75D005406B3 /* MHApplication */, CE9AEB682CD7B3DA00F8471D /* Frameworks */, 0EE4A0812CD5DD1800F17FA5 /* Products */, ); @@ -90,43 +100,6 @@ name = Products; sourceTree = ""; }; - 0EE4A0A12CD5DD2400F17FA5 /* MHApplication */ = { - isa = PBXGroup; - children = ( - 0EE4A0AA2CD5E04B00F17FA5 /* Resource */, - 0EE4A0AB2CD5E05200F17FA5 /* Source */, - ); - path = MHApplication; - sourceTree = ""; - }; - 0EE4A0AA2CD5E04B00F17FA5 /* Resource */ = { - isa = PBXGroup; - children = ( - 0EE4A0992CD5DD2400F17FA5 /* Assets.xcassets */, - 0EE4A09A2CD5DD2400F17FA5 /* Info.plist */, - 0EE4A09C2CD5DD2400F17FA5 /* LaunchScreen.storyboard */, - ); - path = Resource; - sourceTree = ""; - }; - 0EE4A0AB2CD5E05200F17FA5 /* Source */ = { - isa = PBXGroup; - children = ( - 0EE4A0AC2CD5E06200F17FA5 /* App */, - 0EE4A0A02CD5DD2400F17FA5 /* ViewController.swift */, - ); - path = Source; - sourceTree = ""; - }; - 0EE4A0AC2CD5E06200F17FA5 /* App */ = { - isa = PBXGroup; - children = ( - 0EE4A0982CD5DD2400F17FA5 /* AppDelegate.swift */, - 0EE4A09F2CD5DD2400F17FA5 /* SceneDelegate.swift */, - ); - path = App; - sourceTree = ""; - }; CE9AEB682CD7B3DA00F8471D /* Frameworks */ = { isa = PBXGroup; children = ( @@ -156,6 +129,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14C62CDFB75D005406B3 /* MHApplication */, + ); name = MemorialHouse; packageProductDependencies = ( ); @@ -205,8 +181,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0EE4A0A52CD5DD2400F17FA5 /* Assets.xcassets in Resources */, - 0EE4A0A72CD5DD2400F17FA5 /* LaunchScreen.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -238,25 +212,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0EE4A0A22CD5DD2400F17FA5 /* AppDelegate.swift in Sources */, - 0EE4A0A32CD5DD2400F17FA5 /* SceneDelegate.swift in Sources */, - 0EE4A0A42CD5DD2400F17FA5 /* ViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXVariantGroup section */ - 0EE4A09C2CD5DD2400F17FA5 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 0EE4A09B2CD5DD2400F17FA5 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 0EE4A0942CD5DD1B00F17FA5 /* Debug */ = { isa = XCBuildConfiguration; @@ -269,9 +229,9 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MHApplication/Resource/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "기록소"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle"; INFOPLIST_KEY_NSCameraUsageDescription = "기록소는 카메라 권한을 필요로 합니다. 허용 안 함 시 일부 기능이 동작하지 않을 수 있습니다."; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "기록소는 사진 권한을 필요로 합니다. 허용 안 함 시 일부 기능이 동작하지 않을 수 있습니다."; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; @@ -305,9 +265,9 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MHApplication/Resource/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "기록소"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle"; INFOPLIST_KEY_NSCameraUsageDescription = "기록소는 카메라 권한을 필요로 합니다. 허용 안 함 시 일부 기능이 동작하지 않을 수 있습니다."; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "기록소는 사진 권한을 필요로 합니다. 허용 안 함 시 일부 기능이 동작하지 않을 수 있습니다."; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; diff --git a/MemorialHouse/MHApplication/MHApplication/Source/App/AppDelegate.swift b/MemorialHouse/MHApplication/MHApplication/Source/App/AppDelegate.swift index 26750ea9..53fa7f1e 100644 --- a/MemorialHouse/MHApplication/MHApplication/Source/App/AppDelegate.swift +++ b/MemorialHouse/MHApplication/MHApplication/Source/App/AppDelegate.swift @@ -1,4 +1,5 @@ import UIKit +import MHPresentation @main final class AppDelegate: UIResponder, UIApplicationDelegate { @@ -6,6 +7,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate { _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { + UIFont.registerFont() return true } @@ -16,7 +18,4 @@ final class AppDelegate: UIResponder, UIApplicationDelegate { ) -> UISceneConfiguration { return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } - - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - } } diff --git a/MemorialHouse/MHApplication/MHApplication/Source/App/SceneDelegate.swift b/MemorialHouse/MHApplication/MHApplication/Source/App/SceneDelegate.swift index d23e6e1c..2d3a8c6e 100644 --- a/MemorialHouse/MHApplication/MHApplication/Source/App/SceneDelegate.swift +++ b/MemorialHouse/MHApplication/MHApplication/Source/App/SceneDelegate.swift @@ -1,4 +1,5 @@ import UIKit +import MHPresentation final class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? @@ -11,7 +12,7 @@ final class SceneDelegate: UIResponder, UIWindowSceneDelegate { guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: windowScene) - window?.rootViewController = ViewController() + window?.rootViewController = HomeViewController() window?.makeKeyAndVisible() } } diff --git a/MemorialHouse/MHApplication/MHApplication/Source/ViewController.swift b/MemorialHouse/MHApplication/MHApplication/Source/ViewController.swift deleted file mode 100644 index 02ba6c41..00000000 --- a/MemorialHouse/MHApplication/MHApplication/Source/ViewController.swift +++ /dev/null @@ -1,24 +0,0 @@ -import UIKit - -final class ViewController: UIViewController { - private let label: UILabel = { - let label = UILabel() - label.text = "🏗️ 집 짓는 중 👷‍♂️" - label.textAlignment = .center - label.font = UIFont.systemFont(ofSize: 40) - label.translatesAutoresizingMaskIntoConstraints = false - - return label - }() - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .white - view.addSubview(label) - NSLayoutConstraint.activate([ - label.centerXAnchor.constraint(equalTo: view.centerXAnchor), - label.centerYAnchor.constraint(equalTo: view.centerYAnchor) - ]) - } -} diff --git a/MemorialHouse/MHCore/MHCore.xcodeproj/project.pbxproj b/MemorialHouse/MHCore/MHCore.xcodeproj/project.pbxproj index 990a6a18..ded56890 100644 --- a/MemorialHouse/MHCore/MHCore.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHCore/MHCore.xcodeproj/project.pbxproj @@ -7,16 +7,22 @@ objects = { /* Begin PBXBuildFile section */ - CE9AEBCD2CD7B60F00F8471D /* Temp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9AEBCC2CD7B60F00F8471D /* Temp.swift */; }; DB382CB92CD9B1A6000D7689 /* MHFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB382CB82CD9B1A6000D7689 /* MHFoundation.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ CE9AEBBB2CD7B5EF00F8471D /* MHCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MHCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CE9AEBCC2CD7B60F00F8471D /* Temp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Temp.swift; sourceTree = ""; }; DB382CB82CD9B1A6000D7689 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14BB2CDFB75B005406B3 /* MHCore */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = MHCore; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ CE9AEBB82CD7B5EF00F8471D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -32,7 +38,7 @@ CE9AEBB12CD7B5EF00F8471D = { isa = PBXGroup; children = ( - CE9AEBC72CD7B5F700F8471D /* MHCore */, + 0E5C14BB2CDFB75B005406B3 /* MHCore */, CE9AEBFF2CD7BA2B00F8471D /* Frameworks */, CE9AEBBC2CD7B5EF00F8471D /* Products */, ); @@ -46,14 +52,6 @@ name = Products; sourceTree = ""; }; - CE9AEBC72CD7B5F700F8471D /* MHCore */ = { - isa = PBXGroup; - children = ( - CE9AEBCC2CD7B60F00F8471D /* Temp.swift */, - ); - path = MHCore; - sourceTree = ""; - }; CE9AEBFF2CD7BA2B00F8471D /* Frameworks */ = { isa = PBXGroup; children = ( @@ -89,6 +87,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14BB2CDFB75B005406B3 /* MHCore */, + ); name = MHCore; packageProductDependencies = ( ); @@ -168,7 +169,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CE9AEBCD2CD7B60F00F8471D /* Temp.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MemorialHouse/MHData/MHData.xcodeproj/project.pbxproj b/MemorialHouse/MHData/MHData.xcodeproj/project.pbxproj index 47dcd22e..0dbfee94 100644 --- a/MemorialHouse/MHData/MHData.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHData/MHData.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ CE9AEB862CD7B49C00F8471D /* MHDomain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEB852CD7B49C00F8471D /* MHDomain.framework */; }; - CE9AEB8E2CD7B4B300F8471D /* Temp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9AEB8C2CD7B4B300F8471D /* Temp.swift */; }; CE9AEBF42CD7BA1800F8471D /* MHCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEBF32CD7BA1800F8471D /* MHCore.framework */; }; DB382CC92CD9B24F000D7689 /* MHFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB382CC82CD9B24F000D7689 /* MHFoundation.framework */; }; /* End PBXBuildFile section */ @@ -16,11 +15,18 @@ /* Begin PBXFileReference section */ CE9AEB772CD7B46700F8471D /* MHData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MHData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE9AEB852CD7B49C00F8471D /* MHDomain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHDomain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CE9AEB8C2CD7B4B300F8471D /* Temp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Temp.swift; sourceTree = ""; }; CE9AEBF32CD7BA1800F8471D /* MHCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DB382CC82CD9B24F000D7689 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14CE2CDFB761005406B3 /* MHData */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = MHData; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ CE9AEB742CD7B46700F8471D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -38,7 +44,7 @@ CE9AEB6D2CD7B46700F8471D = { isa = PBXGroup; children = ( - CE9AEB8D2CD7B4B300F8471D /* MHData */, + 0E5C14CE2CDFB761005406B3 /* MHData */, CE9AEB842CD7B49C00F8471D /* Frameworks */, CE9AEB782CD7B46700F8471D /* Products */, ); @@ -62,14 +68,6 @@ name = Frameworks; sourceTree = ""; }; - CE9AEB8D2CD7B4B300F8471D /* MHData */ = { - isa = PBXGroup; - children = ( - CE9AEB8C2CD7B4B300F8471D /* Temp.swift */, - ); - path = MHData; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -97,6 +95,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14CE2CDFB761005406B3 /* MHData */, + ); name = MHData; packageProductDependencies = ( ); @@ -176,7 +177,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CE9AEB8E2CD7B4B300F8471D /* Temp.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MemorialHouse/MHDomain/MHDomain.xcodeproj/project.pbxproj b/MemorialHouse/MHDomain/MHDomain.xcodeproj/project.pbxproj index 01355c9e..ed77d7a3 100644 --- a/MemorialHouse/MHDomain/MHDomain.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHDomain/MHDomain.xcodeproj/project.pbxproj @@ -7,18 +7,24 @@ objects = { /* Begin PBXBuildFile section */ - CE9AEB672CD7B3AA00F8471D /* Temp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9AEB662CD7B3AA00F8471D /* Temp.swift */; }; CE9AEBED2CD7BA0C00F8471D /* MHCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEBEC2CD7BA0C00F8471D /* MHCore.framework */; }; DB382CCD2CD9B257000D7689 /* MHFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB382CCC2CD9B257000D7689 /* MHFoundation.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ CE9AEB4E2CD7B31300F8471D /* MHDomain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MHDomain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CE9AEB662CD7B3AA00F8471D /* Temp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Temp.swift; sourceTree = ""; }; CE9AEBEC2CD7BA0C00F8471D /* MHCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DB382CCC2CD9B257000D7689 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14D12CDFB762005406B3 /* MHDomain */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = MHDomain; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ CE9AEB4B2CD7B31300F8471D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -35,7 +41,7 @@ CE9AEB442CD7B31300F8471D = { isa = PBXGroup; children = ( - CE9AEB642CD7B39300F8471D /* MHDomain */, + 0E5C14D12CDFB762005406B3 /* MHDomain */, CE9AEBEB2CD7BA0C00F8471D /* Frameworks */, CE9AEB4F2CD7B31300F8471D /* Products */, ); @@ -49,14 +55,6 @@ name = Products; sourceTree = ""; }; - CE9AEB642CD7B39300F8471D /* MHDomain */ = { - isa = PBXGroup; - children = ( - CE9AEB662CD7B3AA00F8471D /* Temp.swift */, - ); - path = MHDomain; - sourceTree = ""; - }; CE9AEBEB2CD7BA0C00F8471D /* Frameworks */ = { isa = PBXGroup; children = ( @@ -93,6 +91,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14D12CDFB762005406B3 /* MHDomain */, + ); name = MHDomain; packageProductDependencies = ( ); @@ -172,7 +173,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CE9AEB672CD7B3AA00F8471D /* Temp.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MemorialHouse/MHFoundation/MHFoundation.xcodeproj/project.pbxproj b/MemorialHouse/MHFoundation/MHFoundation.xcodeproj/project.pbxproj index 8da7503f..91ad81ef 100644 --- a/MemorialHouse/MHFoundation/MHFoundation.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHFoundation/MHFoundation.xcodeproj/project.pbxproj @@ -6,17 +6,31 @@ objectVersion = 77; objects = { -/* Begin PBXBuildFile section */ - DB382CC22CD9B1F5000D7689 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB382CBF2CD9B1F5000D7689 /* main.swift */; }; - DB382CC32CD9B1F5000D7689 /* MHFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = DB382CC02CD9B1F5000D7689 /* MHFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; -/* End PBXBuildFile section */ - /* Begin PBXFileReference section */ - DB382CBF2CD9B1F5000D7689 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - DB382CC02CD9B1F5000D7689 /* MHFoundation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MHFoundation.h; sourceTree = ""; }; DB3CB9752CD9B08A008186F4 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 0E5C14B92CDFB758005406B3 /* Exceptions for "MHFoundation" folder in "MHFoundation" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + publicHeaders = ( + MHFoundation.h, + ); + target = DB3CB9742CD9B08A008186F4 /* MHFoundation */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14B62CDFB758005406B3 /* MHFoundation */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 0E5C14B92CDFB758005406B3 /* Exceptions for "MHFoundation" folder in "MHFoundation" target */, + ); + path = MHFoundation; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ DB3CB9722CD9B08A008186F4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -28,19 +42,10 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - DB382CC12CD9B1F5000D7689 /* MHFoundation */ = { - isa = PBXGroup; - children = ( - DB382CC02CD9B1F5000D7689 /* MHFoundation.h */, - DB382CBF2CD9B1F5000D7689 /* main.swift */, - ); - path = MHFoundation; - sourceTree = ""; - }; DB3CB96B2CD9B08A008186F4 = { isa = PBXGroup; children = ( - DB382CC12CD9B1F5000D7689 /* MHFoundation */, + 0E5C14B62CDFB758005406B3 /* MHFoundation */, DB3CB9762CD9B08A008186F4 /* Products */, ); sourceTree = ""; @@ -60,7 +65,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DB382CC32CD9B1F5000D7689 /* MHFoundation.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -81,6 +85,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14B62CDFB758005406B3 /* MHFoundation */, + ); name = MHFoundation; packageProductDependencies = ( ); @@ -160,7 +167,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DB382CC22CD9B1F5000D7689 /* main.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -179,7 +185,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; + ENABLE_MODULE_VERIFIER = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; diff --git a/MemorialHouse/MHPresentation/MHPresentation.xcodeproj/project.pbxproj b/MemorialHouse/MHPresentation/MHPresentation.xcodeproj/project.pbxproj index 44e451b1..a7ac3c1d 100644 --- a/MemorialHouse/MHPresentation/MHPresentation.xcodeproj/project.pbxproj +++ b/MemorialHouse/MHPresentation/MHPresentation.xcodeproj/project.pbxproj @@ -7,37 +7,53 @@ objects = { /* Begin PBXBuildFile section */ - 0E5C13C62CDE8D1D005406B3 /* UIView+Anchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5C13C52CDE8D19005406B3 /* UIView+Anchor.swift */; }; - 0E7F29192CDB52DE007D4F2B /* UIFont+Ownglyph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E7F29182CDB52D4007D4F2B /* UIFont+Ownglyph.swift */; }; - 0E7F291B2CDB530E007D4F2B /* UILabel+Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E7F291A2CDB5302007D4F2B /* UILabel+Style.swift */; }; - 0E7F291D2CDB53B5007D4F2B /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0E7F291C2CDB53B5007D4F2B /* Colors.xcassets */; }; - 0E7F291F2CDB5D66007D4F2B /* Colors.xcassets in Headers */ = {isa = PBXBuildFile; fileRef = 0E7F291C2CDB53B5007D4F2B /* Colors.xcassets */; settings = {ATTRIBUTES = (Public, ); }; }; - A840E5932CDE266F002A1C94 /* UICollectionViewCell+Identifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = A840E5922CDE266F002A1C94 /* UICollectionViewCell+Identifier.swift */; }; - A8A32C532CDBB9980078B4F6 /* CustomAlbumViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A32C522CDBB9980078B4F6 /* CustomAlbumViewController.swift */; }; - A8A32C572CDBBB500078B4F6 /* CustomAlbumCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A32C562CDBBB500078B4F6 /* CustomAlbumCollectionViewCell.swift */; }; - A8A32C592CDC98D40078B4F6 /* OwnglyphBerry.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A8A32C582CDC98D40078B4F6 /* OwnglyphBerry.ttf */; }; - A8A32C5A2CDC9C550078B4F6 /* OwnglyphBerry.ttf in Headers */ = {isa = PBXBuildFile; fileRef = A8A32C582CDC98D40078B4F6 /* OwnglyphBerry.ttf */; settings = {ATTRIBUTES = (Public, ); }; }; CE9AEBAB2CD7B51D00F8471D /* MHDomain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEBAA2CD7B51D00F8471D /* MHDomain.framework */; }; CE9AEBFA2CD7BA2000F8471D /* MHCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9AEBF92CD7BA2000F8471D /* MHCore.framework */; }; DB382CC52CD9B22E000D7689 /* MHFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB382CC42CD9B22E000D7689 /* MHFoundation.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 0E5C13C52CDE8D19005406B3 /* UIView+Anchor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Anchor.swift"; sourceTree = ""; }; - 0E7F28EC2CDA6C06007D4F2B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0E7F29182CDB52D4007D4F2B /* UIFont+Ownglyph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Ownglyph.swift"; sourceTree = ""; }; - 0E7F291A2CDB5302007D4F2B /* UILabel+Style.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+Style.swift"; sourceTree = ""; }; - 0E7F291C2CDB53B5007D4F2B /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = ""; }; - A840E5922CDE266F002A1C94 /* UICollectionViewCell+Identifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UICollectionViewCell+Identifier.swift"; sourceTree = ""; }; - A8A32C522CDBB9980078B4F6 /* CustomAlbumViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomAlbumViewController.swift; sourceTree = ""; }; - A8A32C562CDBBB500078B4F6 /* CustomAlbumCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomAlbumCollectionViewCell.swift; sourceTree = ""; }; - A8A32C582CDC98D40078B4F6 /* OwnglyphBerry.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = OwnglyphBerry.ttf; sourceTree = ""; }; CE9AEB992CD7B4F200F8471D /* MHPresentation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MHPresentation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE9AEBAA2CD7B51D00F8471D /* MHDomain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHDomain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE9AEBF92CD7BA2000F8471D /* MHCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DB382CC42CD9B22E000D7689 /* MHFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MHFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 0E5C14B22CDFB74F005406B3 /* Exceptions for "MHPresentation" folder in "MHPresentation" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Resource/Info.plist, + ); + target = CE9AEB982CD7B4F200F8471D /* MHPresentation */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ + 0E5C14B32CDFB74F005406B3 /* Exceptions for "MHPresentation" folder in "Headers" phase from "MHPresentation" target */ = { + isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet; + attributesByRelativePath = { + Resource/Colors.xcassets = (Public, ); + }; + buildPhase = CE9AEB942CD7B4F200F8471D /* Headers */; + membershipExceptions = ( + Resource/Colors.xcassets, + ); + }; +/* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0E5C14A42CDFB74F005406B3 /* MHPresentation */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 0E5C14B22CDFB74F005406B3 /* Exceptions for "MHPresentation" folder in "MHPresentation" target */, + 0E5C14B32CDFB74F005406B3 /* Exceptions for "MHPresentation" folder in "Headers" phase from "MHPresentation" target */, + ); + path = MHPresentation; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ CE9AEB962CD7B4F200F8471D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -52,57 +68,10 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0E7F28E52CDA6B5E007D4F2B /* Resource */ = { - isa = PBXGroup; - children = ( - 0E7F28E92CDA6B92007D4F2B /* Fonts */, - 0E7F28EC2CDA6C06007D4F2B /* Info.plist */, - 0E7F291C2CDB53B5007D4F2B /* Colors.xcassets */, - ); - path = Resource; - sourceTree = ""; - }; - 0E7F28E62CDA6B63007D4F2B /* Source */ = { - isa = PBXGroup; - children = ( - A8A32C5C2CDCEBD60078B4F6 /* CustomAlbum */, - 0E7F29172CDB52CC007D4F2B /* Extensions */, - ); - path = Source; - sourceTree = ""; - }; - 0E7F28E92CDA6B92007D4F2B /* Fonts */ = { - isa = PBXGroup; - children = ( - A8A32C582CDC98D40078B4F6 /* OwnglyphBerry.ttf */, - ); - path = Fonts; - sourceTree = ""; - }; - 0E7F29172CDB52CC007D4F2B /* Extensions */ = { - isa = PBXGroup; - children = ( - 0E5C13C52CDE8D19005406B3 /* UIView+Anchor.swift */, - 0E7F291A2CDB5302007D4F2B /* UILabel+Style.swift */, - 0E7F29182CDB52D4007D4F2B /* UIFont+Ownglyph.swift */, - A840E5922CDE266F002A1C94 /* UICollectionViewCell+Identifier.swift */, - ); - path = Extensions; - sourceTree = ""; - }; - A8A32C5C2CDCEBD60078B4F6 /* CustomAlbum */ = { - isa = PBXGroup; - children = ( - A8A32C522CDBB9980078B4F6 /* CustomAlbumViewController.swift */, - A8A32C562CDBBB500078B4F6 /* CustomAlbumCollectionViewCell.swift */, - ); - path = CustomAlbum; - sourceTree = ""; - }; CE9AEB8F2CD7B4F200F8471D = { isa = PBXGroup; children = ( - CE9AEBA52CD7B4FA00F8471D /* MHPresentation */, + 0E5C14A42CDFB74F005406B3 /* MHPresentation */, CE9AEBA92CD7B51D00F8471D /* Frameworks */, CE9AEB9A2CD7B4F200F8471D /* Products */, ); @@ -116,15 +85,6 @@ name = Products; sourceTree = ""; }; - CE9AEBA52CD7B4FA00F8471D /* MHPresentation */ = { - isa = PBXGroup; - children = ( - 0E7F28E52CDA6B5E007D4F2B /* Resource */, - 0E7F28E62CDA6B63007D4F2B /* Source */, - ); - path = MHPresentation; - sourceTree = ""; - }; CE9AEBA92CD7B51D00F8471D /* Frameworks */ = { isa = PBXGroup; children = ( @@ -142,8 +102,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0E7F291F2CDB5D66007D4F2B /* Colors.xcassets in Headers */, - A8A32C5A2CDC9C550078B4F6 /* OwnglyphBerry.ttf in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -164,6 +122,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0E5C14A42CDFB74F005406B3 /* MHPresentation */, + ); name = MHPresentation; packageProductDependencies = ( ); @@ -213,8 +174,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0E7F291D2CDB53B5007D4F2B /* Colors.xcassets in Resources */, - A8A32C592CDC98D40078B4F6 /* OwnglyphBerry.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -245,12 +204,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0E7F29192CDB52DE007D4F2B /* UIFont+Ownglyph.swift in Sources */, - A8A32C572CDBBB500078B4F6 /* CustomAlbumCollectionViewCell.swift in Sources */, - A8A32C532CDBB9980078B4F6 /* CustomAlbumViewController.swift in Sources */, - A840E5932CDE266F002A1C94 /* UICollectionViewCell+Identifier.swift in Sources */, - 0E7F291B2CDB530E007D4F2B /* UILabel+Style.swift in Sources */, - 0E5C13C62CDE8D1D005406B3 /* UIView+Anchor.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/BaseBackgroundColor.colorset/Contents.json b/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/BaseBackgroundColor.colorset/Contents.json new file mode 100644 index 00000000..05c3825f --- /dev/null +++ b/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/BaseBackgroundColor.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xF3", + "green" : "0xFC", + "red" : "0xFE" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/Contents.json b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone.png similarity index 100% rename from MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone.png rename to MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone.png diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone@2x.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone@2x.png similarity index 100% rename from MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone@2x.png rename to MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone@2x.png diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone@3x.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone@3x.png similarity index 100% rename from MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Camera_duotone@3x.png rename to MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Camera_duotone@3x.png diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Contents.json b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Contents.json similarity index 100% rename from MemorialHouse/MHPresentation/MHPresentation/Resource/Colors.xcassets/PhotoImage.imageset/Contents.json rename to MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/PhotoImage.imageset/Contents.json diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Contents.json b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Contents.json new file mode 100644 index 00000000..8d35f8c5 --- /dev/null +++ b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Setting_line_light.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Setting_line_light@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Setting_line_light@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light.png new file mode 100644 index 00000000..168d93b2 Binary files /dev/null and b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light.png differ diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@2x.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@2x.png new file mode 100644 index 00000000..37254417 Binary files /dev/null and b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@2x.png differ diff --git a/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@3x.png b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@3x.png new file mode 100644 index 00000000..d450b4c2 Binary files /dev/null and b/MemorialHouse/MHPresentation/MHPresentation/Resource/Images.xcassets/SettingLight.imageset/Setting_line_light@3x.png differ diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHNavigationBar.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHNavigationBar.swift new file mode 100644 index 00000000..0a784ffd --- /dev/null +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Design/MHNavigationBar.swift @@ -0,0 +1,57 @@ +import UIKit + +final class MHNavigationBar: UIView { + // MARK: - Property + private let titleLabel = UILabel(style: .header) + private let settingButton = UIButton(type: .custom) + + // MARK: - Initializer + init(title: String) { + super.init(frame: .zero) + + setup(with: title) + configureAddSubView() + configureConstraints() + configureAction() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + + setup(with: "") + configureAddSubView() + configureConstraints() + configureAction() + } + + // MARK: - Setup & Configuration + private func setup(with title: String) { + titleLabel.text = "\(title) 기록소" + settingButton.setImage(.settingLight, for: .normal) + backgroundColor = .baseBackground + } + + private func configureAddSubView() { + addSubview(titleLabel) + addSubview(settingButton) + } + + private func configureConstraints() { + titleLabel.setTop(anchor: topAnchor) + titleLabel.setLeading(anchor: leadingAnchor) + titleLabel.setBottom(anchor: bottomAnchor) + titleLabel.setCenterY(view: settingButton) + + settingButton.setTop(anchor: topAnchor) + settingButton.setTrailing(anchor: trailingAnchor) + settingButton.setCenterY(view: self) + settingButton.setWidth(30) + settingButton.setHeight(30) + } + + private func configureAction() { + settingButton.addAction(UIAction { _ in + // TODO: 설정 버튼 클릭 시 설정화면 라우팅 필요 + }, for: .touchUpInside) + } +} diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIFont+Ownglyph.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIFont+Ownglyph.swift index 5854b48a..32862cf1 100644 --- a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIFont+Ownglyph.swift +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIFont+Ownglyph.swift @@ -4,4 +4,19 @@ extension UIFont { static func ownglyphBerry(size: CGFloat) -> UIFont { return UIFont(name: "Ownglyph_BERRY_RW-Rg", size: size) ?? UIFont.systemFont(ofSize: size) } + + public static func registerFont() { + guard let url = Bundle(for: HomeViewController.self) + .url(forResource: "OwnglyphBerry", withExtension: "ttf") else { + // TODO: Logger로 처리 + print("폰트 파일을 찾을 수 없습니다.") + return + } + + var error: Unmanaged? + if !CTFontManagerRegisterFontsForURL(url as CFURL, .process, &error) { + // TODO: Logger로 처리 + print("폰트 등록 실패: \(error?.takeRetainedValue().localizedDescription ?? "알 수 없는 오류")") + } + } } diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UILabel+Style.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UILabel+Style.swift index 712fb5de..9d5855f5 100644 --- a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UILabel+Style.swift +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UILabel+Style.swift @@ -9,7 +9,6 @@ public extension UILabel { convenience init(style: Style) { self.init(frame: .zero) - self.translatesAutoresizingMaskIntoConstraints = false self.textColor = .title self.textAlignment = .center switch style { diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIView+Anchor.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIView+Anchor.swift index 07274f0f..051b3906 100644 --- a/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIView+Anchor.swift +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Extensions/UIView+Anchor.swift @@ -39,22 +39,22 @@ extension UIView { } } - func setTop(anchor: NSLayoutYAxisAnchor, constant: CGFloat) { + func setTop(anchor: NSLayoutYAxisAnchor, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.topAnchor.constraint(equalTo: anchor, constant: constant).isActive = true } - func setLeading(anchor: NSLayoutXAxisAnchor, constant: CGFloat) { + func setLeading(anchor: NSLayoutXAxisAnchor, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.leadingAnchor.constraint(equalTo: anchor, constant: constant).isActive = true } - func setBottom(anchor: NSLayoutYAxisAnchor, constant: CGFloat) { + func setBottom(anchor: NSLayoutYAxisAnchor, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.bottomAnchor.constraint(equalTo: anchor, constant: -constant).isActive = true } - func setTrailing(anchor: NSLayoutXAxisAnchor, constant: CGFloat) { + func setTrailing(anchor: NSLayoutXAxisAnchor, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.trailingAnchor.constraint(equalTo: anchor, constant: -constant).isActive = true } @@ -65,25 +65,25 @@ extension UIView { self.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: offset.y).isActive = true } - func setHorizontal(view: UIView, constant: CGFloat) { + func setHorizontal(view: UIView, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.setLeading(anchor: view.leadingAnchor, constant: constant) self.setTrailing(anchor: view.trailingAnchor, constant: constant) } - func setHorizontal(layoutGuide: UILayoutGuide, constant: CGFloat) { + func setHorizontal(layoutGuide: UILayoutGuide, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.setLeading(anchor: layoutGuide.leadingAnchor, constant: constant) self.setTrailing(anchor: layoutGuide.trailingAnchor, constant: constant) } - func setVertical(view: UIView, constant: CGFloat) { + func setVertical(view: UIView, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.setTop(anchor: view.topAnchor, constant: constant) self.setBottom(anchor: view.bottomAnchor, constant: constant) } - func setVertical(layoutGuide: UILayoutGuide, constant: CGFloat) { + func setVertical(layoutGuide: UILayoutGuide, constant: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.setTop(anchor: layoutGuide.topAnchor, constant: constant) self.setBottom(anchor: layoutGuide.bottomAnchor, constant: constant) diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Home/HomeViewController.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Home/HomeViewController.swift new file mode 100644 index 00000000..e5acb74a --- /dev/null +++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Home/HomeViewController.swift @@ -0,0 +1,39 @@ +import UIKit + +public final class HomeViewController: UIViewController { + // MARK: - Property + private let navigationBar = MHNavigationBar(title: "효준") // TODO: 유저 이름 입력받기 + + // MARK: - Initializer + public init() { + super.init(nibName: nil, bundle: nil) + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + } + + // MARK: - View LifeCycle + override public func viewDidLoad() { + super.viewDidLoad() + + setup() + configureAddSubView() + configureConstraints() + } + + // MARK: - Setup & Configuration + private func setup() { + view.backgroundColor = .baseBackground + } + + private func configureAddSubView() { + view.addSubview(navigationBar) + } + + private func configureConstraints() { + navigationBar.setTop(anchor: view.safeAreaLayoutGuide.topAnchor, constant: 20) + navigationBar.setLeading(anchor: view.leadingAnchor, constant: 24) + navigationBar.setTrailing(anchor: view.trailingAnchor, constant: 24) + } +}