Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions MLS/MLS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@
77FA68BA2F72C9C10064B6EB /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 77FA68B92F72C9C10064B6EB /* RxSwift */; };
77FA68BC2F72C9C70064B6EB /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 77FA68BB2F72C9C70064B6EB /* SnapKit */; };
77FA68BE2F72CA490064B6EB /* MLSDesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = 77FA68BD2F72CA490064B6EB /* MLSDesignSystem */; };
BBCC0B002FA000000000BBCC /* MLSBookmarkFeature in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC0C002FA000000000BBCC /* MLSBookmarkFeature */; };
BBCC0D002FA000000000BBCC /* MLSBookmarkFeatureInterface in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC0E002FA000000000BBCC /* MLSBookmarkFeatureInterface */; };
BBCC0F002FA000000000BBCC /* MLSBookmarkFeatureTesting in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC10002FA000000000BBCC /* MLSBookmarkFeatureTesting */; };
BBCC11002FA000000000BBCC /* MLSCore in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC12002FA000000000BBCC /* MLSCore */; };
BBCC13002FA000000000BBCC /* MLSAuthFeatureInterface in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC14002FA000000000BBCC /* MLSAuthFeatureInterface */; };
BBCC15002FA000000000BBCC /* MLSDesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = BBCC16002FA000000000BBCC /* MLSDesignSystem */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -171,6 +177,7 @@
77E260402EEABEC40059E889 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = MLS/Resource/Settings.bundle; sourceTree = "<group>"; };
77EB18D52DED9256004FB380 /* AuthFeature.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AuthFeature.framework; sourceTree = BUILT_PRODUCTS_DIR; };
77FA687A2F72C7360064B6EB /* MLSDesignSystemExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MLSDesignSystemExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
BBCC02002FA000000000BBCC /* MLSBookmarkFeatureExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MLSBookmarkFeatureExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
Expand Down Expand Up @@ -216,6 +223,13 @@
);
target = 77FA68792F72C7360064B6EB /* MLSDesignSystemExample */;
};
BBCC04002FA000000000BBCC /* Exceptions for "MLSBookmarkFeatureExample" folder in "MLSBookmarkFeatureExample" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
);
target = BBCC01002FA000000000BBCC /* MLSBookmarkFeatureExample */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */

/* Begin PBXFileSystemSynchronizedRootGroup section */
Expand Down Expand Up @@ -272,6 +286,14 @@
path = MLSDesignSystemExample;
sourceTree = "<group>";
};
BBCC03002FA000000000BBCC /* MLSBookmarkFeatureExample */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
BBCC04002FA000000000BBCC /* Exceptions for "MLSBookmarkFeatureExample" folder in "MLSBookmarkFeatureExample" target */,
);
path = MLSBookmarkFeatureExample;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -375,6 +397,19 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
BBCC06002FA000000000BBCC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
BBCC0B002FA000000000BBCC /* MLSBookmarkFeature in Frameworks */,
BBCC0D002FA000000000BBCC /* MLSBookmarkFeatureInterface in Frameworks */,
BBCC0F002FA000000000BBCC /* MLSBookmarkFeatureTesting in Frameworks */,
BBCC11002FA000000000BBCC /* MLSCore in Frameworks */,
BBCC13002FA000000000BBCC /* MLSAuthFeatureInterface in Frameworks */,
BBCC15002FA000000000BBCC /* MLSDesignSystem in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
Expand Down Expand Up @@ -461,6 +496,7 @@
08F7A9242F86745C00EF5C06 /* MLSAuthFeatureExample */,
77217FBF2F9A04CF000915EF /* MLSMyPageFeatureExample */,
08F7DC622F9DEA8000EF5C06 /* MLSRecommendationFeatureExample */,
BBCC03002FA000000000BBCC /* MLSBookmarkFeatureExample */,
7794E1072FBCA8AA001474A2 /* MLSDictionaryFeatureExample */,
084A25312DB93A5400C395C0 /* Frameworks */,
087D3EE92DA7972C002F924D /* Products */,
Expand All @@ -476,6 +512,7 @@
08F7A9232F86745C00EF5C06 /* MLSAuthFeatureExample.app */,
77217FBE2F9A04CF000915EF /* MLSMyPageFeatureExample.app */,
08F7DC612F9DEA8000EF5C06 /* MLSRecommendationFeatureExample.app */,
BBCC02002FA000000000BBCC /* MLSBookmarkFeatureExample.app */,
7794E1062FBCA8AA001474A2 /* MLSDictionaryFeatureExample.app */,
);
name = Products;
Expand Down Expand Up @@ -675,6 +712,34 @@
productReference = 77FA687A2F72C7360064B6EB /* MLSDesignSystemExample.app */;
productType = "com.apple.product-type.application";
};
BBCC01002FA000000000BBCC /* MLSBookmarkFeatureExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = BBCC08002FA000000000BBCC /* Build configuration list for PBXNativeTarget "MLSBookmarkFeatureExample" */;
buildPhases = (
BBCC05002FA000000000BBCC /* Sources */,
BBCC06002FA000000000BBCC /* Frameworks */,
BBCC07002FA000000000BBCC /* Resources */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
BBCC03002FA000000000BBCC /* MLSBookmarkFeatureExample */,
);
name = MLSBookmarkFeatureExample;
packageProductDependencies = (
BBCC0C002FA000000000BBCC /* MLSBookmarkFeature */,
BBCC0E002FA000000000BBCC /* MLSBookmarkFeatureInterface */,
BBCC10002FA000000000BBCC /* MLSBookmarkFeatureTesting */,
BBCC12002FA000000000BBCC /* MLSCore */,
BBCC14002FA000000000BBCC /* MLSAuthFeatureInterface */,
BBCC16002FA000000000BBCC /* MLSDesignSystem */,
);
productName = MLSBookmarkFeatureExample;
productReference = BBCC02002FA000000000BBCC /* MLSBookmarkFeatureExample.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
Expand Down Expand Up @@ -764,6 +829,7 @@
08F7A9222F86745C00EF5C06 /* MLSAuthFeatureExample */,
77217FBD2F9A04CF000915EF /* MLSMyPageFeatureExample */,
08F7DC602F9DEA8000EF5C06 /* MLSRecommendationFeatureExample */,
BBCC01002FA000000000BBCC /* MLSBookmarkFeatureExample */,
7794E1052FBCA8AA001474A2 /* MLSDictionaryFeatureExample */,
);
};
Expand Down Expand Up @@ -822,6 +888,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
BBCC07002FA000000000BBCC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
Expand Down Expand Up @@ -895,6 +968,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
BBCC05002FA000000000BBCC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
Expand Down Expand Up @@ -1526,6 +1606,78 @@
};
name = Release;
};
BBCC09002FA000000000BBCC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = W5QTRMS954;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = MLSBookmarkFeatureExample/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.donggle.MLS.BookmarkFeatureExample;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
BBCC0A002FA000000000BBCC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = W5QTRMS954;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = MLSBookmarkFeatureExample/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.donggle.MLS.BookmarkFeatureExample;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
Expand Down Expand Up @@ -1601,6 +1753,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BBCC08002FA000000000BBCC /* Build configuration list for PBXNativeTarget "MLSBookmarkFeatureExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BBCC09002FA000000000BBCC /* Debug */,
BBCC0A002FA000000000BBCC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
Expand Down Expand Up @@ -1809,6 +1970,30 @@
isa = XCSwiftPackageProductDependency;
productName = MLSDesignSystem;
};
BBCC0C002FA000000000BBCC /* MLSBookmarkFeature */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSBookmarkFeature;
};
BBCC0E002FA000000000BBCC /* MLSBookmarkFeatureInterface */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSBookmarkFeatureInterface;
};
BBCC10002FA000000000BBCC /* MLSBookmarkFeatureTesting */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSBookmarkFeatureTesting;
};
BBCC12002FA000000000BBCC /* MLSCore */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSCore;
};
BBCC14002FA000000000BBCC /* MLSAuthFeatureInterface */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSAuthFeatureInterface;
};
BBCC16002FA000000000BBCC /* MLSDesignSystem */ = {
isa = XCSwiftPackageProductDependency;
productName = MLSDesignSystem;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 087D3EE02DA7972C002F924D /* Project object */;
Expand Down
3 changes: 3 additions & 0 deletions MLS/MLS.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

81 changes: 81 additions & 0 deletions MLS/MLSBookmarkFeature/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// swift-tools-version: 6.2
import PackageDescription

let package = Package(
name: "MLSBookmarkFeature",
platforms: [.iOS(.v15)],
products: [
.library(
name: "MLSBookmarkFeatureInterface",
targets: ["MLSBookmarkFeatureInterface"]
),
.library(
name: "MLSBookmarkFeature",
targets: ["MLSBookmarkFeature"]
),
.library(
name: "MLSBookmarkFeatureTesting",
targets: ["MLSBookmarkFeatureTesting"]
)
],
dependencies: [
.package(path: "../MLSAuthFeature"),
.package(path: "../MLSCore"),
.package(path: "../MLSDesignSystem"),
.package(url: "https://github.com/ReactorKit/ReactorKit.git", from: "3.2.0"),
.package(url: "https://github.com/ReactiveX/RxSwift.git", from: "6.7.0"),
.package(url: "https://github.com/SnapKit/SnapKit.git", from: "5.7.1")
],
targets: [
// Interface 모듈 (팩토리/리포지토리 프로토콜 + 엔티티)
.target(
name: "MLSBookmarkFeatureInterface",
dependencies: [
.product(name: "MLSCore", package: "MLSCore"),
.product(name: "MLSDesignSystem", package: "MLSDesignSystem"),
.product(name: "RxSwift", package: "RxSwift"),
.product(name: "RxRelay", package: "RxSwift")
],
swiftSettings: [.swiftLanguageMode(.v5)]
),
// Feature 모듈 (Presentation + Domain + Data 구현체)
.target(
name: "MLSBookmarkFeature",
dependencies: [
"MLSBookmarkFeatureInterface",
.product(name: "MLSAuthFeatureInterface", package: "MLSAuthFeature"),
.product(name: "MLSCore", package: "MLSCore"),
.product(name: "MLSDesignSystem", package: "MLSDesignSystem"),
.product(name: "ReactorKit", package: "ReactorKit"),
.product(name: "RxSwift", package: "RxSwift"),
.product(name: "RxCocoa", package: "RxSwift"),
.product(name: "RxRelay", package: "RxSwift"),
.product(name: "SnapKit", package: "SnapKit")
],
swiftSettings: [.swiftLanguageMode(.v5)]
),
// Testing 모듈 (Mock + Stub 객체)
.target(
name: "MLSBookmarkFeatureTesting",
dependencies: [
"MLSBookmarkFeatureInterface",
.product(name: "MLSAuthFeatureInterface", package: "MLSAuthFeature"),
.product(name: "MLSCore", package: "MLSCore"),
.product(name: "MLSDesignSystem", package: "MLSDesignSystem"),
.product(name: "RxSwift", package: "RxSwift"),
.product(name: "RxRelay", package: "RxSwift")
],
swiftSettings: [.swiftLanguageMode(.v5)]
),
// Tests 모듈
.testTarget(
name: "MLSBookmarkFeatureTests",
dependencies: [
"MLSBookmarkFeature",
"MLSBookmarkFeatureInterface",
"MLSBookmarkFeatureTesting",
.product(name: "RxBlocking", package: "RxSwift")
]
)
]
)
Loading
Loading