diff --git a/MiniScanner.xcodeproj/project.pbxproj b/MiniScanner.xcodeproj/project.pbxproj index 72c2b102dc6507d973ba95b6920d30beb0d300b5..a0ce3213358622c2b726298ef3ad02513a6cc9a0 100644 --- a/MiniScanner.xcodeproj/project.pbxproj +++ b/MiniScanner.xcodeproj/project.pbxproj @@ -178,6 +178,7 @@ 672C46682C47C75100497EF0 /* Clear.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46672C47C75100497EF0 /* Clear.swift */; }; 672C468F2C47CB2000497EF0 /* UserDefaultsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C468E2C47CB2000497EF0 /* UserDefaultsManager.swift */; }; 672C46912C47CB5D00497EF0 /* UserDefaultsKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46902C47CB5D00497EF0 /* UserDefaultsKeys.swift */; }; + 672C46B32C47E8D700497EF0 /* DependencyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46A52C47E8D700497EF0 /* DependencyManager.swift */; }; B827E5196CC419E773B843E1 /* Pods_MiniScanner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9A37DC9F9A8E3AF632DFB98 /* Pods_MiniScanner.framework */; }; EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */; }; EC0CF200254D8BBF00888722 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */; }; @@ -406,6 +407,7 @@ 672C46672C47C75100497EF0 /* Clear.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Clear.swift; sourceTree = "<group>"; }; 672C468E2C47CB2000497EF0 /* UserDefaultsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsManager.swift; sourceTree = "<group>"; }; 672C46902C47CB5D00497EF0 /* UserDefaultsKeys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsKeys.swift; sourceTree = "<group>"; }; + 672C46A52C47E8D700497EF0 /* DependencyManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DependencyManager.swift; sourceTree = "<group>"; }; E8AF4FB39674DF589D719DCF /* Pods-MiniScanner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MiniScanner.release.xcconfig"; path = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig"; sourceTree = "<group>"; }; E9A37DC9F9A8E3AF632DFB98 /* Pods_MiniScanner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MiniScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -954,6 +956,30 @@ path = UserDefaults; sourceTree = "<group>"; }; + 672C46A62C47E8D700497EF0 /* DI */ = { + isa = PBXGroup; + children = ( + 672C46A52C47E8D700497EF0 /* DependencyManager.swift */, + ); + path = DI; + sourceTree = "<group>"; + }; + 672C46AE2C47E8D700497EF0 /* Common */ = { + isa = PBXGroup; + children = ( + 672C46A62C47E8D700497EF0 /* DI */, + ); + path = Common; + sourceTree = "<group>"; + }; + 672C46AF2C47E8D700497EF0 /* Features */ = { + isa = PBXGroup; + children = ( + 672C46AE2C47E8D700497EF0 /* Common */, + ); + path = Features; + sourceTree = "<group>"; + }; 98E49D3F46C8E62718825860 /* Pods */ = { isa = PBXGroup; children = ( @@ -984,6 +1010,7 @@ EC0CF1FC254D8BBF00888722 /* MiniScanner */ = { isa = PBXGroup; children = ( + 672C46AF2C47E8D700497EF0 /* Features */, 672C46602C47C70F00497EF0 /* DependencyInjection */, EC702548254E1F9F00BE1958 /* Managers */, 535983F02C144E79003EB6ED /* Helpers */, @@ -1364,6 +1391,7 @@ 53D9D1C22C1AF521004D1C1C /* StickerView.swift in Sources */, 539996A22C27130000671340 /* ConstraintDirectionalInsets.swift in Sources */, 53E7D3352C1B00880025A1D3 /* FSPagerView.swift in Sources */, + 672C46B32C47E8D700497EF0 /* DependencyManager.swift in Sources */, 53014F912C11A8E80071CE39 /* ShutterButton.swift in Sources */, 53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */, 53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */, diff --git a/MiniScanner/Features/Common/DI/DependencyManager.swift b/MiniScanner/Features/Common/DI/DependencyManager.swift new file mode 100644 index 0000000000000000000000000000000000000000..ee2178667eee952b965628661f2a5a2b7bc28130 --- /dev/null +++ b/MiniScanner/Features/Common/DI/DependencyManager.swift @@ -0,0 +1,23 @@ +// +// DependencyManager.swift +// MiniScanner +// +// Created by Mustafa Merza on 7/17/24. +// Copyright © 2024 AppsNectar. All rights reserved. +// + +import Foundation + +final class DependencyManager { + + let userDefaultsManager: UserDefaultsManagerProtocol + + init() { + self.userDefaultsManager = UserDefaultsManager() + initializeDependencies() + } + + private func initializeDependencies() { + + } +} diff --git a/MiniScanner/Supporting Files/AppDelegate.swift b/MiniScanner/Supporting Files/AppDelegate.swift index eda1335b3374049e496bf7f123f093857805f228..41a76942f4fcce19d34b92f65f84b0ca76af9b96 100644 --- a/MiniScanner/Supporting Files/AppDelegate.swift +++ b/MiniScanner/Supporting Files/AppDelegate.swift @@ -8,6 +8,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. + + initializeDependencies() + ThemeManager.shared.setupTheme() if let savedFolders = UserDefaults.standard.object(forKey: "folders") as? Data { print("nooo!!") @@ -129,3 +132,10 @@ extension Bundle { return bundleDisplayname ?? bundleName } } + +extension AppDelegate { + + private func initializeDependencies() { + _ = DependencyManager() + } +}